Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Studio Gradle-设置模块构建变体_Android_Build_Module_Gradle_Variant - Fatal编程技术网

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

Android Studio Gradle-设置模块构建变体,android,build,module,gradle,variant,Android,Build,Module,Gradle,Variant,我正在设置一个依赖于一个模块的项目,我可以成功地创建APK文件。我所做的只是添加 编译项目(“:ModuleName”) 然而,我想知道我是否可以拥有模块依赖性和构建差异。 因此,[项目:调试]依赖于[模块:调试],而[项目:发布]依赖于[模块:发布] 谢谢 目前,Gradle工具链是默认的,不管您选择什么作为应用程序构建类型。对于这个问题,有一些建议的解决方法,但它们主要涉及到构建配置,而不是包含依赖项的任何内容 我能想到的最接近你想要的例子是做以下事情 dependencies {

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

编译项目(“:ModuleName”)

然而,我想知道我是否可以拥有模块依赖性和构建差异。 因此,[项目:调试]依赖于[模块:调试],而[项目:发布]依赖于[模块:发布]


谢谢

目前,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')
}