AndroidStudio自动修改apk包名,自动更改debug和release包名配置等

build.gradle配置编译自动给打出的apk命令带上版本号、时间

AndroidStudio自动修改apk包名,自动更改debug和release包名配置等_第1张图片

android {

 ...

 applicationVariants.all { variant ->
        variant.outputs.all { output ->
            def outputFile = output.outputFile
            def fileName
            if (outputFile != null && outputFile.name.endsWith('.apk')) {
                if (variant.buildType.name.equals('release')) {
                  //  fileName = "example_release_v${_versionName}_${buildTime()}.apk"
                    fileName = "example_demo_v${_versionName}_${buildTime()}.apk"
                } else if (variant.buildType.name.equals('debug')) {
                    fileName = "example_debug_v${_versionName}_${buildTime()}.apk"
                }
                outputFileName = fileName
            }
        }
    }

}


def buildTime() {
    return new Date().format("yyyy-MM-dd_HH-mm", TimeZone.getTimeZone("GMT+8",))
//    return new Date().format("yyyy-MM-dd_HH", TimeZone.getTimeZone("GMT+8",))
}

def revision() {
    //def cmd = 'git rev-list HEAD --count'
    def cmd = 'git log -n1 --pretty=%h'
    def revision = cmd.execute().text.trim()
    System.out.println(revision)
    return revision
}

自动给debug包包名加上“.test”

 buildTypes {
        debug {
            applicationIdSuffix ".test"
        }
    }

 

你可能感兴趣的:(安卓,gradle,android)