android studio - if条件下的依赖项 - 标志

时间:2016-06-08 07:38:40

标签: android android-studio gradle build.gradle

我目前有一个在build.gradle中有一些依赖的添加

dependencies {
     compile project: 'com.name.libOne', name: 'libOne'
     compile group: 'com.name.libTwo', name: 'libTwo'
     //a few more dependencies
    }

现在我正在寻找一种方法来在某些条件下放置一些依赖项 所以不是每次我构建应用程序时都会拥有所有这些依赖项。

像这样:

dependencies {
     if (one) {
         compile project: 'com.name.libOne', name: 'libOne'
     }
     compile group: 'com.name.libTwo', name: 'libTwo'
     //a few more dependencies
}

有没有这样做?所以我可以向build命令发送标志 gradlew.bat assembleDebug并且这些条件会读取标志?

1 个答案:

答案 0 :(得分:0)

您可以尝试将特定的依赖项移动到separete .gradle文件中并有条件地应用它们。例如,假设您在与当前构建脚本相同的目录中创建了一个libOneDependency.gradle文件,它包含:

dependencies {
    compile project: 'com.name.libOne', name: 'libOne'
}

然后将其应用于dependencies闭包中的主构建脚本,如下所示

if (project.hasProperty('nameOfYourFlag')) 
{
  apply from: 'libOneDependency.gradle'
}

因此,现在您必须将构建标记为-PnameOfYourFlag