android studio 打包APK自动改名

先上完整代码:

buildTypes {
        //正式
        release {
            lintOptions {
                checkReleaseBuilds false
                abortOnError false
            }
            //调试
            buildConfigField "boolean", "IS_DEBUG", "false"
            //日志
            buildConfigField "boolean", "IS_LOG", "false"
            //异常模式
            buildConfigField "boolean", "IS_CATCH", "true"
            buildConfigField "int", "URL_CONFIG", "888888"
            //混淆
            minifyEnabled false
            //Zipalign优化
            zipAlignEnabled true
            // 移除无用的resource文件
            shrinkResources false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

            //自定义包名输出格式
            applicationVariants.all { variant ->
                variant.outputs.all { output ->
                    def outputFile = output.outputFile
                    if (outputFile != null && outputFile.name.endsWith('.apk')) {
                        //GW_2_V1.0.1_20190626.apk
                        def fileName = "GW_${defaultConfig.versionCode}_v${defaultConfig.versionName}_${releaseTime()}.apk"
                        //根据自己目录配置
                        def parent = "../../../项目/升级包/release/"
                        outputFileName = new File(parent, fileName)
                    }
                }
            }
        }
        //测试
        debug {
            //调试
            buildConfigField "boolean", "IS_DEBUG", "true"
            //日志
            buildConfigField "boolean", "IS_LOG", "true"
            //异常模式
            buildConfigField "boolean", "IS_CATCH", "false"
            buildConfigField "int", "URL_CONFIG", "999999"
            //混淆
            minifyEnabled false
            //Zipalign优化
            zipAlignEnabled true
            // 移除无用的resource文件
            shrinkResources false

            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

static def releaseTime() {
    return new Date().format("yyyyMMdd", TimeZone.getTimeZone("Asia/Shanghai"))
}

 

里面就下面这句代码很重要

 //自定义包名输出格式
            applicationVariants.all { variant ->
                variant.outputs.all { output ->
                    def outputFile = output.outputFile
                    if (outputFile != null && outputFile.name.endsWith('.apk')) {
                        //GW_2_V1.0.1_20190626.apk
                        def fileName = "GW_${defaultConfig.versionCode}_v${defaultConfig.versionName}_${releaseTime()}.apk"
                        //根据自己目录配置
                        def parent = "../../../项目/升级包/release/"
                        outputFileName = new File(parent, fileName)
                    }
                }
            }

就注意一点,就是这个路径  def parent = "../../../项目/升级包/release/"   前面的../../../  好像不能改,提示用绝对路径报错,至于为什么"我也不敢说,我也不敢问",后面就是你除根目录的绝对路径。

我亲测可用,如有不一样的可以讨论.

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值