我正在设置一个依赖于一个模块的项目,我可以成功制作APK文件。我所做的只是添加
编译项目(':ModuleName')
但是我想知道我是否可以通过构建差异获得模块依赖性。 因此, [Project: debug ] 取决于 [Module: debug ] 和 [Project: 发布] 取决于 [模块:发布]
谢谢!
答案 0 :(得分:8)
Marcus的回复更新:
我不知道自哪个版本的Gradle / Android Studio,但现在可以这样做:
更新:publishNonDefault
现已弃用,不再需要了。只需使用下面的配置。
### Library的build.gradle:
android {
...
publishNonDefault true
}
dependencies {
debugCompile project(path: ':baseApp', configuration: 'debug')
releaseCompile project(path: ':baseApp', configuration: 'release')
}
在Android Studio中更改其中一个的构建变体将更改另一个的构建变体。
答案 1 :(得分:4)
默认情况下,Gradle工具链only builds libraries in the release variant,无论您选择什么作为应用程序构建类型。有一些针对该问题的建议工作,但它们主要涉及您的构建配置,而不是包含依赖项的任何内容。
我能想到的最接近的例子就是做你想做的事情;
dependencies {
flavor1Compile project(path: ':lib1', configuration: 'flavor1Release')
flavor1Compile project(path: ':lib1', configuration: 'flavor2Release')
}
但这是通过构建风格而不是构建变体来实现的。