android - Gradle:如何定义多种口味的共同依赖?

标签 android gradle dependency-management

我的应用程序有 3 种风格(免费付费特殊)并且有一个依赖项 LIB_1 只需要对于 免费 风格和 付费特殊 风格所需的其他依赖项 LIB_2

那么,我的问题是如何在 build.gradle 文件中定义这些依赖项?

目前,我这样定义它们:

dependencies {
    freeImplementation 'LIB_1'
    paidImplementation 'LIB_2'
    specialImplementation 'LIB_2'
}

有没有更好的方法来定义它们而不是为不同的口味复制相同的依赖关系?

最佳答案

是的,根据 android gradle dependency management 的文档,这是声明特定 flavor 依赖项的唯一方法。

如果您在一个多模块项目中(并且您不想在每个子模块中重复这些行),您还可以使用 build.gradle 中的 subproject block 定义这些依赖项根项目的:

subprojects {
    //all subprojects` config
}
//or
configure(subprojects.findAll {it.name != 'sample'}) {
    // subprojects that their name is not "sample"
}

关于android - Gradle:如何定义多种口味的共同依赖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54606071/

相关文章:

java - android/java中的图像识别

grails - gradle测试未运行Geb测试

java.security.NoSuchAlgorithmException : Cannot find any provider supporting RSA/NONE/PKCS1Padding in jar-file

Android Canvas 总是保存java.io.IOException : open failed: ENOENT (No such file or directory)

android - 完全使用适用于 Android 的 xml Mono

java - Android Studio - AAPT : error: file failed to compile with PNG images

python - 如何处理 Linux/Python 依赖?

c# - 传递依赖导致同一 DLL 的版本冲突

java - 如何分发具有依赖项的开源 jar?

android - onBackPressed() 是否停止应用程序?