Android多Module分渠道以及引用

tech2026-04-26  3

Android多Module分渠道以及引用

做点笔记,配置的东西真的难弄,不记笔记,不要两个星期就能忘光光。项目现在渠道变多了,而且还有代码的区别,之前一直在加module的形式处理,项目列表老长了,就想合并module,以渠道形式处理,不过被上司驳回了,不过学到了点东西,记下笔记。

android { flavorDimensions "platform" productFlavors { publishNonDefault true lianyun { dimension 'platform' } meizu { dimension 'platform' } } sourceSets { main { manifest.srcFile 'src/main/AndroidManifest.xml' java.srcDirs = ['src/main/java'] jniLibs.srcDirs = ['libs'] assets.srcDirs = ['src/main/assets'] res.srcDirs = ['../wp-base/src/main/res'] } meizu { java.srcDirs = ['src/meizu/java'] } lianyun { java.srcDirs = ['src/lianyun/java'] } } } dependencies { meizuImplementation fileTree(dir: 'libs', include: ['*.jar']) lianyunImplementation fileTree(dir: 'libs', include: ['*.jar']) meizuImplementation project(path: ':xxxx') lianyunImplementation project(path: ':xxxx') } publishNonDefault true,默认情况下不能生产所有版本的 library,通过设置publishNonDefault为true,可以同时生产所有版本的 library。flavorDimensions至少需要定义一个,否则肯定报错(菜得可以,这都不知道),这个是风格,不同风格可以交叉生成多风格,试了下感觉挺恶心的,一堆报错,不想研究了Implementation、api等导入其它module的标签都会生成不同渠道的,需要分别添加 dependencies { lianyunApi project(path: ':xxxx') }

其它module引用分渠道的module需要在gradle里面配置相应的渠道,用上面的方式引用,参考了这篇文章,这篇文章区分了release和debug,实际上没必要,直接引用就好了,关键是lianyunApi,如果是lianyunReleaseApi,也许就需要用这个大佬的方式处理,没试过。

参考原博客地址:https://blog.csdn.net/qq_34103001/article/details/105494711?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

最新回复(0)