Android Studio Gradle - 设置模块构建变体

时间:2014-11-25 18:35:23

标签: android build module gradle variant

我正在设置一个依赖于一个模块的项目,我可以成功制作APK文件。我所做的只是添加

  

编译项目(':ModuleName')

但是我想知道我是否可以通过构建差异获得模块依赖性。 因此, [Project: debug ] 取决于 [Module: debug ] [Project: 发布] 取决于 [模块:发布]

谢谢!

2 个答案:

答案 0 :(得分:8)

Marcus的回复更新:

我不知道自哪个版本的Gradle / Android Studio,但现在可以这样做:

更新:publishNonDefault现已弃用,不再需要了。只需使用下面的配置。

### Library的build.gradle:

android {
    ...
    publishNonDefault true
}

App的build.gradle:

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')
}

但这是通过构建风格而不是构建变体来实现的。