我在Android项目中遇到了问题。
例如,有四个模块:App,Lib1,Lib2,Lib3。
应用:
compile project(":Lib1")
Lib1:
compile project(":Lib2")
LIB2:
compile project(":Lib3")
现在,我为 App和Lib3 配置产品风味,如下所示:
productFlavors {
formal {}
dev {}
}
当我为App组装构建变体时,例如:App:assembleFormalRelease,我想要构建Lib3的formalRelease变体。
==============
我知道我可以通过在所有模块中添加相同的productFlavors并进行如下配置来实现此目的。
configurations {
devReleaseCompile {}
devDebugCompile {}
formalReleaseCompile {}
formalDebugCompile {}
}
dependencies {
devReleaseCompile project(path:"xxx", configuration: "devRelease")
devDebugCompile project(path:"xxx", configuration: "devDebug")
formalReleaseCompile project(path:"xxx", configuration: "formalRelease")
formalDebugCompile project(path:"xxx", configuration: "formalDebug")
}
但是我的工作项目中有超过五个级别的嵌套依赖项,我想知道是否有更简单的解决方案。
谢谢!
答案 0 :(得分:0)
我认为任务依赖是你需要的。因为汇编任务是懒惰的负载 在App模块中:
tasks.whenTaskAdded { task ->
if(task.name.equals('assembleFormalRelease')
{task.dependsOn ':lib3:assembleFormalRelease'}
}
它是否有效?你的场景中有任何冲突吗?