gradle 修改apk打包命名

本文详细介绍了如何在Android Studio中自定义APK文件名,通过Gradle构建脚本的两种方法实现,包括添加日期时间戳和项目名称,适用于Androidstudio3.*版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:Android Studio 中修改Apk名称(新增Android studio 3.*设置)

示例一:


android {
   
	//...

    applicationVariants.all { variant ->
        variant.outputs.all { output ->
            println output
            //ApkVariantOutputImpl_Decorated{
            //      apkData=Main
            //          {type=MAIN, fullName=debug, filters=[],
            //           versionCode=1, versionName=1.0}}
            //ApkVariantOutputImpl_Decorated{
            //      apkData=Main{
            //          type=MAIN, fullName=release, filters=[],
            //          versionCode=1, versionName=1.0}}

            println output.apkData
            //Main{type=MAIN, fullName=debug, filters=[], versionCode=1, versionName=1.0}
            //Main{type=MAIN, fullName=release, filters=[], versionCode=1, versionName=1.0}

            def fullName = output.apkData.fullName
            println fullName
            //debug
            //release

            def versionName = output.apkData.versionName
            println versionName
            //1.0
            //1.0

            //修改方式一
            def releaseApkName1 = "gradle2_" + fullName + versionName + ".apk"
            println releaseApkName1
            // gradle2_debug1.0.apk
            // gradle2_release1.0.apk
            //修改命名
            outputFileName = releaseApkName1

            //修改方式二:
            def releaseApkName2 = rootProject.getName() + "-v" +
                    defaultConfig.versionName + "-" +
                    variant.buildType.name + "-" +
                    buildTime() +
                    ".apk"
            println releaseApkName2
            //MyGradle2-v1.0-debug-2019_07_05--11:08.apk
            //MyGradle2-v1.0-release-2019_07_05--11:08.apk
//            outputFileName = releaseApkName2
        }
    }
}

def buildTime() {
    def date = new Date()
    def formattedDate = date.format('yyyy_MM_dd_HH_mm_ss')
    return formattedDate
}

示例二:

android {
   
  //...

  applicationVariants.all { variant ->
        variant.outputs.all { output ->
            def releaseApkName = rootProject.getName() + "_" +
                    output.apkData.fullName + "_v" +
                    output.apkData.versionName + "_" +
                    buildTime() +
                    ".apk"
            println releaseApkName
            //MyGradle2_debug_v1.0_2019_07_05_11:21:18.apk
            //MyGradle2_release_v1.0_2019_07_05_11:21:18.apk
            outputFileName = releaseApkName
        }
    }
}

def buildTime() {
    def date = new Date()
    def formattedDate = date.format('yyyy_MM_dd_HH_mm_ss')
    return formattedDate
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值