android - gradle multiproject包含和排除库

use*_*724 4 android multiple-projects gradle

我正在尝试使用Gradle构建一个Android项目.

它具有以下结构:

ProjectA----- MainProject,   
LibA     ---- Library project,   
LibB     ---- Library project,   
LibC     ---- Library project,   
LibD     ---- Library project,  
etc...
Run Code Online (Sandbox Code Playgroud)

基于situtation,我需要包含库,有时需要包括所有库,1库,2或3等基于flavor.在设置文件中,我包含了所有项目.

有人知道如何根据口味包含/排除库吗?

我试过依赖阻止,我收到错误.
以下是示例代码

dependencies {
if (task.name.matches('compileFlovor1'){
  exclude module: 'LibD'
   }
}
Run Code Online (Sandbox Code Playgroud)

错误是:找不到参数[{module = LibD}]的方法exclude().

请指导我解决这个问题

Ren*_*hke 6

添加特定于风味的依赖项,您必须配置相应的配置.让我们说你必须尝试"免费"和"付费"

android {
    productFlavors {
        free
        paid
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以通过以下方式在依赖关系块中设置特定于flavor的依赖项:

dependencies {
    compile project(':library1')  //library1 used in free and paid flavour
    freeCompile project(':library2')
    paidCompile project(':library3')    
    paidCompile project(':library4')    
    paidCompile project(':library5')     
}
Run Code Online (Sandbox Code Playgroud)

希望有所帮助,

欢呼,勒内