我想让所有apk文件发布到所有商店,所以我必须为每个apk使用div
:
的build.gradle
productFlavor
输出
buildTypes {
release {
...
}
debug {
...
}
}
productFlavors {
red {
...
}
yellow {
...
}
}
我知道上面的代码可以改变apk的文件名。但是当我生成签名的apk时,我只能选择一个appname_red_debug.apk
appname_red_release.apk
appname_yellow_debug.apk
appname_yellow_release.apk
。这样,结果仅针对productFlavor
。
:更新
如何使用assembleRelease在commend行上一次制作所有apk文件?有没有人知道这个?
答案 0 :(得分:11)
在选择构建类型后生成签名的apk时,您始终可以从列表中选择多种口味。它将为给定的构建类型生成所有选定flavor的apks。我已多次这样做了。
如何,你问?选择一种风味并按 Ctrl + A 选择所有风味或按Ctrl并选择多种风味想。
这是我现在正在做的截图(味道名称被掩盖):
更新: 我进行了更多探索,并注意到拖动鼠标选择多个项目并不像其他工具一样。这就是造成所有混淆的原因,我认为谷歌应该采用这种方式进行选择,否则许多用户可能仍未使用该功能。
答案 1 :(得分:6)
如果您想使用命令行,可以使用以下命令之一:
All buildVariants
- ./gradlew assemble
All flavors for a buildType
- ./gradlew assembleDebug
- ./gradlew assembleRelase
All buildTypes for a flavor
- ./gradlew assembleRed
- ./gradlew assembleYellow
Only a buildVariant
- ./gradlew assembleRedDebug
- ./gradlew assembleRedRelease
- ./gradlew assembleYellowDebug
- ./gradlew assembleYellowRelease
您也可以使用
更改apk名称project.ext.set("archivesBaseName", "....");
例如
project.ext.set("archivesBaseName", "myApp."+ defaultConfig.versionName);