当前位置:  开发笔记 > Android > 正文

Android Studio:如何为所选的buildType一次为所有productFlavors生成多个APK或签名的APK?

如何解决《AndroidStudio:如何为所选的buildType一次为所有productFlavors生成多个APK或签名的APK?》经验,为你挑选了2个好方法。

我想让所有apk文件发布到所有商店,所以我必须使用productFlavor每个apk:

的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在commend行上一次制作所有apk文件?有没有人知道这件事?



1> AndroidMecha..:

在选择构建类型后生成签名的apk时,您始终可以从列表中选择多种口味.它将为给定的构建类型生成所有选定flavor的apks.我已经好几次了.

怎么样,你问?选择一种风味并按Ctrl + A选择所有风味或按Ctrl并根据需要选择多种风味.

这是我现在正在做的截图(味道名称被掩盖):

在此输入图像描述

更新: 我进行了更多探索,并注意到拖动鼠标选择多个项目在此处不起作用,就像在其他工具中一样.这就是所有混淆的原因,我认为谷歌应该以这种方式进行选择,否则许多用户可能仍然没有使用该功能.



2> Gabriele Mar..:

如果要使用命令行,可以使用以下命令之一:

 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);


@Virus您可以在build.gradle脚本中配置签名配置.例如,请查看http://stackoverflow.com/questions/33645835/confused-with-signing-android-apk/33646119#33646119或http://stackoverflow.com/questions/24263715/android-gradle-load-signing-config - 从外部的文件/ 24264879#24264879
推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有