有没有人可以建议,我们如何在android gradle中基于如下条件在构建时添加依赖项:
dependencies{
if(someCondition){
// add dependency
}
}提前感谢!!
发布于 2018-02-22 13:59:43
我找到了一个解决方案:
gradle Step1:在根级别声明一个boolean variable。
like: def someDependencyEnabled = true //This could be dynamically set.Step2:使用此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 :是包含通用代码的通用'src/main/java'文件。
'src/dependency_enabled_src':是包含依赖项特定代码的源文件夹。它由'src/main/java‘进一步使用。
'src/dependency_disabled_src':是在禁用特定依赖项时包含替代代码的源文件夹。
在我的例子中,我在两个文件夹(dependency_enabled和dependency_disabled src)中编写了相同名称的类、方法和包名,并在dependency_enabled_src中编写了具有所需实现的方法&为dependency_disabled_src编写了空方法。
https://stackoverflow.com/questions/48823944
复制相似问题