我有一个带有两个模块的gradle android项目:
在我的gradle配置中,我有不同的构建类型。默认值(调试和发布,每个都有自定义设置),dev和beta版本类型(也有自定义签名,自定义proguard和自定义applicationIdSuffix。
我现在想要做的是使用例如buildType beta(gradle clean assembleBeta)构建应用程序包。这开始构建测试版的应用程序,看到它具有依赖性,并开始构建磨损。但这是问题所在。磨损模块使用发布版本类型构建,而不是用于启动构建的相同beta版本类型。
两个模块上的自定义构建类型配置完全相同,因此手动构建具有beta构建类型的磨损模块确实有效。但是,使用内置beta并在app模块内部打包的磨损模块也是使用beta构建的。不可行。
我是如何实现这一目标的?
答案 0 :(得分:1)
如果可以将构建变体从一个项目连接到另一个项目,我就不知道答案。
但是这里有解决方法。您可以构建具有依赖性的app而不是项目,但已经构建了apk(https://developer.android.com/training/wearables/apps/packaging.html)。因此,您必须单独构建磨损应用程序变体,并将该工件包含在您的应用程序工件中。
dependencies {
...
wearApp files('/path/to/wearable_app.apk')
}
<强>更新强> 实际上有可能:
productFlavors {
dev {
}
prod {
}
}
...
devWearApp project(path: ':wearable', configuration: 'devRelease')
prodWearApp project(path: ':wearable', configuration: 'prodRelease')
Muzei app https://github.com/romannurik/muzei/blob/master/main/build.gradle
的致谢