android studio-if条件下的依赖项-标志
我目前有一个add,它在build.gradle中有一些依赖项android studio-if条件下的依赖项-标志,android,android-studio,gradle,build.gradle,Android,Android Studio,Gradle,Build.gradle,我目前有一个add,它在build.gradle中有一些依赖项 dependencies { compile project: 'com.name.libOne', name: 'libOne' compile group: 'com.name.libTwo', name: 'libTwo' //a few more dependencies } 现在我正在寻找一种方法,将一些依赖项置于某种条件下 因此,并非每次我构建应用程序时,它都会有所有这些依赖项 像
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
并且该标志将由这些条件读取?您可以尝试将特定的依赖项移动到separate.gradle
文件中,并有条件地应用它们。例如,假设您在与当前构建脚本相同的目录中创建了一个libOneDependency.gradle
文件,该文件包含:
dependencies {
compile project: 'com.name.libOne', name: 'libOne'
}
然后将其应用到主构建脚本中,从依赖项中退出闭包,如下所示
if (project.hasProperty('nameOfYourFlag'))
{
apply from: 'libOneDependency.gradle'
}
因此,现在您必须将您的标志作为-PnameOfYourFlag
提供给构建,我在哪里可以将标志应用于构建?然后运行构建:gradlew.bat assembleDebug-PnameOfYourFlag
它可以工作。唯一的问题是现在我不想使用某些部分,我得到了一个编译错误。你能想出什么解决办法吗