Android Studio配置打包生成自定義文件名

Android Studio在打包的時候會根據選擇的Build Variant是Debug和Release默認生成<code>app-debug.apk</code>或者<code>app-release.apk</code>。

那麼如何打包時候生成自定義文件名呢?

只要在moudlebuild.gradle中進行如下設置即可。

根節點添加

// 當前beta版本號
ext.build_number = "beta1";

// 顯示的時間格式,形如20171110
def releaseTime() {
    return new Date().format("yyyyMMdd", TimeZone.getDefault());
}

    android節點中添加

    android {
        // 一定要寫在android節點中
        applicationVariants.all { variant ->
            variant.outputs.each { output ->
                def outputFile = output.outputFile
                if (outputFile != null && outputFile.name.endsWith('.apk')) {
                    // 顯示app名稱+當前版本號
                    def fileName = "Your App Name-V${variant.versionName}"
                    // 如果有渠道,顯示渠道名""
                    if (variant.flavorName!=""){
                        fileName = fileName + "-${variant.flavorName}"
                    }
                    // 加入打包時間
                    fileName = fileName + "-${releaseTime()}"
                    // 如果是debug版本,加入beta版本號
                    if ('debug'.equals(variant.buildType.name)) {
                        fileName = fileName + "-${build_number}.apk"
                    } else {
                        // 如果是release版本,直接顯示
                        fileName = fileName + "-release.apk"
                    }
                    output.outputFile = new File(outputFile.parent, fileName)
                }
            }
        }
    }

      這樣設置之後,打出的包的文件名就形如

      //沒有渠道 
      
      Your App Name-V1.0.0-20171110-beta1.apk 
      
      Your App Name-V1.0.0-20171110-release.apk 
      
      // 有渠道 
      
      Your App Name-V1.2.1-20171110-渠道名稱-beta2.apk 
      
      Your App Name-V1.2.1-20171110-渠道名稱-release.apk 
      
      

      發表評論
      所有評論
      還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
      相關文章