Android Studio:如何为选定的构建类型一次为所有productFlavors生成多个APK或签名APK?
我想将所有apk文件发布到所有商店,因此我必须为每个apk使用Android Studio:如何为选定的构建类型一次为所有productFlavors生成多个APK或签名APK?,android,android-gradle-plugin,apk,build.gradle,android-productflavors,Android,Android Gradle Plugin,Apk,Build.gradle,Android Productflavors,我想将所有apk文件发布到所有商店,因此我必须为每个apk使用productFlavor: build.gradle buildTypes { release { ... } debug { ... } } productFlavors { red { ... } yellow {
productFlavor
:
build.gradle
buildTypes {
release {
...
}
debug {
...
}
}
productFlavors {
red {
...
}
yellow {
...
}
}
输出
appname_red_debug.apk
appname_red_release.apk
appname_yellow_debug.apk
appname_yellow_release.apk
我知道上面的代码可以更改apk的文件名。但是当我生成签名的apk时,我必须只选择一个productFlavor
。这样,结果只特定于productFlavor
:已更新
如何使用assembleRelease使所有apk文件同时在线?有人知道这一点吗?在选择构建类型后生成签名apk时,您始终可以从列表中选择多种风格。它将为给定构建类型的所有选定样式生成APK。我已经做过好几次了 如何选择?选择一种口味,然后按Ctrl+A选择所有口味,或者按Ctrl键,然后根据需要选择多种口味 下面是我现在做这件事的截图(掩盖了味道名称):
更新:我进行了更多的探索,并注意到拖动鼠标选择多个项目与其他工具不同。这就是所有混乱的原因,我认为谷歌应该以这种方式启用选择功能,否则该功能可能会被许多用户闲置。如果您想使用命令行,可以使用以下命令之一:
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);
您应该使用gradle包装器来简化组装并同时获得所有apk。等等!可以让我试试,不需要这么复杂的东西。Android Studio默认支持它。如果可以看到列表,则可以选择它。检查我下面的答案。真是太棒了~:D我从没想过我可以选择很多选项。我会非常感谢你,但我想知道它在推荐线上是如何工作的。我也从未尝试过,对不起,但现在我很想知道。如果你发现了,请在这里留言。如果我找到了,我也会。这就是我想要的,我只是找到了另一种方式,但我喜欢它。非常感谢你!很好,但是签名配置是否需要预配置才能生成签名的APK?只是好奇,我从来没有tried@Virus您可以在build.gradle脚本中配置签名配置。例如,check或我也这样做了,从这个窗口生成了多个APK,当上传到play store时,它会说它是用不同的证书签名的。我所有的风格都有不同的密钥库文件。你能帮忙吗?