android gradle 修改生成的apk的名字

Android Studio打包应用默认生成的apk名称是:app-release.apk 、app-debug.apk
如果我们要让生成的apk名跟我们版本包名、渠道号有联系的话,那我们就要自定义生成的apk名了
需要在build.gradle(Module:app)文件下android{ }中添加:
android.applicationVariants.all {
        variant ->
            variant.outputs.each { output ->

                def outputFile = output.outputFile

                if (outputFile != null && outputFile.name.endsWith('.apk')) {

                    def name = "qq_v${defaultConfig.versionName}_${variant.productFlavors[0].name}_${buildType.name}.apk"

                    output.outputFile = new File(outputFile.parent, name)
                }

            }
    }
//多渠道
 productFlavors {
        tencent{
        }
        vivo{
        }
        oppo{
        }
    }

修改名字的地方

def name = "xxx_${defaultConfig.versionName}_${variant.productFlavors[0].name}_${buildType.name}.apk"
xxx:为你自己的工程名,自己起的标识- 比如 wx、qq、taobao
defaultConfig.versionName:版本号
variant.productFlavors[0].name:渠道标识
buildType.name:build方式release/debug
//这么写也可以
def name= "qq"+"_"+"v"+defaultConfig.versionName+"_"+variant.productFlavors[0].name+"_"+buildType.name+".apk"

然后使用命令打包

./gradlew assemble --会同时打debug和release的包
使用如上命令测试出包如图:
./gradlew assembleRelease --只打release的包

AndroidStudio升级到3.0后这种方式会有问题

Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated{apkData=Main{type=MAIN, fullName=release, filters=[]}} of type com.android.build.gradle.internal.api.ApkVariantOutputImpl. Open File

1.需要修改 each() 和 outputFile() 方法为 all()

2.outputFileName

 applicationVariants.all { variant ->
        if (variant.buildType.name == 'release') {
            variant.outputs.all {
                def apkName = "qq_v${defaultConfig.versionName}_${variant.productFlavors[0].name}_${buildType.name}"
                outputFileName = apkName + ".apk"
            }
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,007评论 25 709
  • 1.介绍 如果你正在查阅build.gradle文件的所有可选项,请点击这里进行查阅:DSL参考 1.1新构建系统...
    Chuckiefan阅读 14,173评论 8 72
  • 转载注明出处:http://www.jianshu.com/p/5255b100930e 0. 前言 完全由个人翻...
    王三的猫阿德阅读 7,445评论 0 4
  • 目录一、Python打包及优化(美团多渠道打包)二、Gradle打包三、其他打包方案:修改Zip文件的commen...
    守望君阅读 11,056评论 4 17
  • 习惯有时是很神奇的力量,昨晚意外的失眠,两点多才睡,今天早晨仍然是六点起床,给女儿推拿,看书,运动,护肤,做早餐,...
    妈咪充电宝阅读 1,621评论 0 0

友情链接更多精彩内容