1.第一种情况,你的android工程versionname是通过build.gradle文件配置的话,直接在build.gradle文件的android括号内添加如下代码
//修改生成的apk名字 applicationVariants.all { variant -> variant.outputs.each { output -> def oldFile = output.outputFile def newName = ''; if (variant.buildType.name.equals('release')) { // println(variant.productFlavors[0].name) def releaseApkName = 'app名称' + variant.getVersionName() + '-' + variant.productFlavors[0].name +getDate()+ '-signed.apk' output.outputFile = new File(oldFile.parent, releaseApkName) } if (variant.buildType.name.equals('beta')) { newName = oldFile.name.replace(".apk", "-v" + getVersionNameFromManifest() + "-build" + getDate() + ".apk") output.outputFile = new File(oldFile.parent, newName) } if (variant.buildType.name.equals('debug')) { } } } productFlavors { //在这里添加你所有需要打包的渠道 myApp {} }而且在build最外层,所有花括号外添加获取当前打包的事件字符串
//获取时间戳 def getDate() { def date = new Date() def formattedDate = date.format('yyyyMMddHHmm') return formattedDate }
第二种情况,你的android工程versionname是通过AndroidManifest.xml文件来来控制的的话,在最外层添加
//从androidManifest.xml中获取版本号 def getVersionNameFromManifest(){ def manifestParser = new com.android.builder.core.DefaultManifestParser() return manifestParser.getVersionName(android.sourceSets.main.manifest.srcFile) }
//获取时间戳 def getDate() { def date = new Date() def formattedDate = date.format('yyyyMMddHHmm') return formattedDate }而build.gradle文件的android花括号内添加如下代码
applicationVariants.all { variant -> variant.outputs.each { output -> def oldFile = output.outputFile def newName = ''; if (variant.buildType.name.equals('release')) { // println(variant.productFlavors[0].name) def releaseApkName = 'app名称' + variant.getVersionName() + '-' + variant.productFlavors[0].name +getDate()+ '-signed.apk' output.outputFile = new File(oldFile.parent, releaseApkName) } if (variant.buildType.name.equals('beta')) { newName = oldFile.name.replace(".apk", "-v" + getVersionNameFromManifest() + "-build" + getDate() + ".apk") output.outputFile = new File(oldFile.parent, newName) } if (variant.buildType.name.equals('debug')) { } } } productFlavors { //在这里添加你所有需要打包的渠道 myApp {} }