Android Studio Gradle-设置模块构建变体
我正在设置一个依赖于一个模块的项目,我可以成功地创建APK文件。我所做的只是添加 编译项目(“:ModuleName”) 然而,我想知道我是否可以拥有模块依赖性和构建差异。 因此,[项目:调试]依赖于[模块:调试],而[项目:发布]依赖于[模块:发布]Android Studio Gradle-设置模块构建变体,android,build,module,gradle,variant,Android,Build,Module,Gradle,Variant,我正在设置一个依赖于一个模块的项目,我可以成功地创建APK文件。我所做的只是添加 编译项目(“:ModuleName”) 然而,我想知道我是否可以拥有模块依赖性和构建差异。 因此,[项目:调试]依赖于[模块:调试],而[项目:发布]依赖于[模块:发布] 谢谢 目前,Gradle工具链是默认的,不管您选择什么作为应用程序构建类型。对于这个问题,有一些建议的解决方法,但它们主要涉及到构建配置,而不是包含依赖项的任何内容 我能想到的最接近你想要的例子是做以下事情 dependencies {
谢谢 目前,Gradle工具链是默认的,不管您选择什么作为应用程序构建类型。对于这个问题,有一些建议的解决方法,但它们主要涉及到构建配置,而不是包含依赖项的任何内容 我能想到的最接近你想要的例子是做以下事情
dependencies {
flavor1Compile project(path: ':lib1', configuration: 'flavor1Release')
flavor2Compile project(path: ':lib1', configuration: 'flavor2Release')
}
但这是通过构建风格而不是构建变体实现的。对Marcus答案的更新: 我不知道Gradle/Android Studio的版本,但现在可以做到: 更新:
publishNonDefault
现在已被弃用,不再需要。只需使用下面的配置
###库的build.gradle:
android {
...
publishNonDefault true
}
应用程序的build.gradle:
在Android Studio中更改其中一个的构建变量将更改另一个的构建变量。现在就足够了。希望我们以后能得到更多的控制。谢谢。你好,Diolor,在反编译类“BaseExtension”后发现:public void setPublishNonDefault(布尔publishNonDefault){this.logger.warn(“publishNonDefault已弃用,不再有效。所有变体现在都已发布。”);}HI@Sergio。是
publishNonDefault
几个月前已被弃用。我更新了答案。谢谢
dependencies {
debugCompile project(path: ':baseApp', configuration: 'debug')
releaseCompile project(path: ':baseApp', configuration: 'release')
}