【发布时间】:2018-02-27 18:09:33
【问题描述】:
任何人都可以建议,我们如何根据以下条件在构建时在 android gradle 中添加依赖项:
dependencies{
if(someCondition){
// add dependency
}
}
提前致谢!!
【问题讨论】:
标签: android-gradle-plugin dependencies
任何人都可以建议,我们如何根据以下条件在构建时在 android gradle 中添加依赖项:
dependencies{
if(someCondition){
// add dependency
}
}
提前致谢!!
【问题讨论】:
标签: android-gradle-plugin dependencies
我找到了解决方案:
第 1 步:在根级别的 gradle 中声明 boolean variable。
like: def someDependencyEnabled = true //This could be dynamically set.
第 2 步:使用这个 boolean 变量,我们可以应用如下检查:
if(someDependencyEnabled){
//Add some dependency
}
else
{
//Add some other dependency
}
Step3:针对不同情况定义不同的源集:
android.sourceSets {
main {
java.srcDirs = ['src/main/java', someDependencyEnabled ? 'src/dependency_enabled_src' : 'src/dependency_disabled_src']
}
}
在哪里: 'src/main/java' : 是包含公共代码的公共src文件。
'src/dependency_enabled_src':是包含依赖特定代码的源文件夹。 'src/main/java' 进一步使用它。
'src/dependency_disabled_src':是在禁用特定依赖项时包含备用代码的源文件夹。
在我的例子中,我在两个文件夹(dependency_enabled 和dependency_disabled src)中编写了相同名称的类、方法和包名,并在dependency_enabled_src 中编写了具有所需实现的方法,而dependency_disabled_src 的方法为空。
【讨论】: