为了方便识别apk文件,一般我们都希望通过Androoid Studio打包的文件,会带上app的名字、时间等信息,使用多渠道打包的时候,还希望带上渠道名称。
Gradle 3.0.0之前
//修改生成的apk名字
android {
applicationVariants.all { variant ->
if (variant.buildType.name.equals('release')) {
variant.outputs.each { output ->
def parent = './apk/'
def buildName
def releaseApkName
def type = variant.buildType.name;
releaseApkName = buildName + '_' + type + "_" + versionName + '_' + getDate() + '.apk'
output.outputFile = new File(parent, releaseApkName)
}
}
}
}
Gradle 3.0.0之后
//修改生成的apk名字
applicationVariants.all { variant ->
variant.getPackageApplication().outputDirectory = new File(project.rootDir.absolutePath + '/outputs/' + versionName) //指定apk输出目录
if (variant.buildType.name.equals('release')) {
variant.outputs.all { output ->
def buildName = "PandaDeal"
def type = variant.buildType.name
def flavor = variant.productFlavors[0].name
//def releaseApkName = buildName + '_' + type + "_" + versionName + '_' + getTime() + '.apk'
def releaseApkName = buildName + '-v' + versionName + "-" + flavor + '.apk'
outputFileName = releaseApkName
}
}
}