- 环境:Android Studio 3.5.3
- 项目简介:app依赖lib1,lib1依赖lib2
- 效果
- 关键配置
- 工程 build.gradle
ext.dimensions = [ 'app' : "app", 'lib1': "lib1", 'lib2': "lib2", ]
- lib2:
android { ...... defaultConfig { ...... flavorDimensions dimensions.lib2 } productFlavors { lib2_pro { dimension dimensions.lib2 } lib2_dev { dimension dimensions.lib2 } lib2_online { dimension dimensions.lib2 } } }
- lib1:
android { ...... defaultConfig { ...... flavorDimensions dimensions.lib1 } ...... productFlavors { lib1_pro { dimension dimensions.lib1 // 第一个参数为依赖库的flavorDimensions, // 第二个参数为选中这个flavor后,依赖库的默认flavor // 后面的参数也需要,不要的话,修改为非默认的flavor会出现问题 missingDimensionStrategy dimensions.lib2, "lib2_pro", "lib2_dev", "lib2_online" } lib1_dev { dimension dimensions.lib1 missingDimensionStrategy dimensions.lib2, "lib2_dev", "lib2_pro", "lib2_online" } lib1_online { dimension dimensions.lib1 missingDimensionStrategy dimensions.lib2, "lib2_online", "lib2_pro", "lib2_dev" } } } dependencies { ...... implementation project(path: ':lib2') }
- app :
android { ...... defaultConfig { ...... flavorDimensions dimensions.app } productFlavors { pro { // 第一个参数为依赖库的flavorDimensions, // 第二个参数为选中这个flavor后,依赖库的默认flavor // 后面的参数也需要,不要的话,修改为非默认的flavor会出现问题 missingDimensionStrategy dimensions.lib1, "lib1_pro", "lib1_dev", "lib1_online" } dev { missingDimensionStrategy dimensions.lib1, "lib1_dev", "lib1_pro", "lib1_online" } online { missingDimensionStrategy dimensions.lib1, "lib1_online", "lib1_pro", "lib1_dev" } } } dependencies { ...... implementation project(path: ':lib1') }
- 工程 build.gradle
Android 多productFlavors的lib module的配置及随app module切换build variant变化
最新推荐文章于 2023-05-18 12:32:51 发布