我正在尝试使用Gradle构建一个Android项目。
它具有以下结构:
ProjectA----- MainProject,
LibA ---- Library project,
LibB ---- Library project,
LibC ---- Library project,
LibD ---- Library project,
etc...
基于situtation,我需要包含库,有时需要包括所有库,1个库,2个或3个等基于flavor。 在设置文件中,我包含了所有项目。
有人知道如何根据口味包含/排除库吗?
我尝试过依赖阻止,我收到错误。
以下是示例代码
dependencies {
if (task.name.matches('compileFlovor1'){
exclude module: 'LibD'
}
}
错误是:找不到参数[{module = LibD}]的方法exclude()。
请指导我解决此问题
答案 0 :(得分:6)
添加特定于风味的依赖项,您必须配置相应的配置。 让我们说你必须尝试“免费”和“付费”
android {
productFlavors {
free
paid
}
}
然后您可以通过以下方式在依赖关系块中设置特定于flavor的依赖项:
dependencies {
compile project(':library1') //library1 used in free and paid flavour
freeCompile project(':library2')
paidCompile project(':library3')
paidCompile project(':library4')
paidCompile project(':library5')
}
希望有所帮助,
欢呼声, 勒