我们有一个具有多种口味的项目,每种口味都有3种不同的构建类型:debug,QA和release。
productFlavors {
flavor1 {}
flavor2 {}
flavor3 {}
}
buildTypes {
debug {
applicationIdSuffix ".debug"
}
qa {
applicationIdSuffix ".qa"
}
release {
..
}
但是对于每个flavor和buildType,我们需要不同的库依赖。例如:
compile 'baseUrl:myLibrary:1.0.0:flavor1Release@aar'
compile 'baseUrl:myLibrary:1.0.0:flavor1Qa@aar'
...
compile 'baseUrl:myLibrary:1.0.0:flavor3Qa@aar'
我们可以使用Groovy脚本添加这些依赖项吗?
答案 0 :(得分:1)
解决方案
希望此代码对您有帮助。
答案 1 :(得分:0)
我知道您可以像每个buildType一样定义特定的依赖关系
debugCompile 'baseUrl:myLibrary:1.0.0:debugLib@aar'
releaseCompile 'baseUrl:myLibrary:1.0.0:release:Lib@aar'
因为无法构建没有的APK 关联的构建类型,APK总是配置两个(或更多) 配置:编译和编译。创建一个新的Build Type会根据其名称自动创建新配置。
如here所述(但不包含flavorDimensions ),它似乎也能正常使用。
为变体(buildType + Flavor)做这件事似乎有点多了。否则,您可以将库定义为真正的库项目,并使用类似
的语法要创建对另一个已发布工件的依赖关系,您需要 指定使用哪一个:
dependencies {
flavor1Compile project(path: ':lib1', configuration: 'flavor1Release')
flavor2Compile project(path: ':lib1', configuration: 'flavor2Release')
}
来自:http://tools.android.com/tech-docs/new-build-system/user-guide