Gradleの名前のAPKパッケージを変更

参考:AndroidのメーカーAPKは、名前を変更(新しいAndroidスタジオ3. *セット)

例1:


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')
    return formattedDate
}

例2:

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
}

おすすめ

転載: blog.csdn.net/sinat_31057219/article/details/94722941
おすすめ