4

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

它具有以下结构:

ProjectA----- MainProject,   
LibA     ---- Library project,   
LibB     ---- Library project,   
LibC     ---- Library project,   
LibD     ---- Library project,  
etc...

根据情况,我需要包括库,有时需要根据口味包括所有库、1 个库、2 个或 3 个等。在设置文件中,我包含了所有项目。

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

我已经尝试过依赖块,但出现错误。
以下是示例代码

dependencies {
if (task.name.matches('compileFlovor1'){
  exclude module: 'LibD'
   }
}

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

请指导我解决这个问题

4

1 回答 1

6

添加特定于风味的依赖项,您必须配置相应的配置。假设您必须品尝“免费”和“付费”

android {
    productFlavors {
        free
        paid
    }
}

然后您可以通过以下方式在依赖块中设置特定于风味的依赖项:

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

希望有帮助,

干杯,勒内

于 2013-04-25T21:02:20.247 回答