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

Android Studio在打包的时候会根据选择的Build Variant是Debug和Release默认生成app-debug.apk或者app-release.apk

那么如何打包时候生成自定义文件名呢?

只要在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 
      
      

      你可能感兴趣的:(Android)