您的位置:首页 > 移动开发 > Android开发

Android studio 自定义打包apk名

2017-10-20 20:26 399 查看
AndroidStudio打包应用默认生成的apk名称是:app-release.apk、如果我们要让生成的apk名跟我们版本包名有联系的话,那我们就要自定义生成的apk名了

需要在build.gradle(Module:app)文件下android{}中添加:

//apknamedef
android.applicationVariants.all{variant->
variant.outputs.each{output->
output.outputFile=newFile(output.outputFile.parent,defaultConfig.applicationId+"-"+buildType.name+"-v"+
defaultConfig.versionName+"-"+defaultConfig.versionCode+".apk");
}
}


这样我们打包的apk名就是:com.test.demo-release-v1.01-2.apk,就自动带上我们的包名和版本号了,省去每次都要手动自己改了。

如果要生成如下版本号时间戳的apk包名,则可以用如下build.gradle代码:
模块名-渠道名-版本号-版本名称-包名-编译时间.apk


applyplugin:'com.android.application'

defreleaseTime(){
returnnewDate().format("yyyy-MM-dd",TimeZone.getTimeZone("UTC"))
}

android{
compileSdkVersion23
buildToolsVersion"23.0.1"

defaultConfig{
applicationId"com.djk.myapplication"
minSdkVersion14
targetSdkVersion23
versionCode1
versionName"1.0"
}
buildTypes{
release{
minifyEnabledfalse
proguardFilesgetDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
}
}

productFlavors{
develop{}
xiaomi{}
huawei{}
anzhi{}
}

android.applicationVariants.all{variant->
variant.outputs.each{output->
defoutputFile=output.outputFile
if(outputFile!=null&&outputFile.name.endsWith('.apk')){
//这里修改apk文件名
deffileName="demo_${variant.productFlavors[0].name}-${defaultConfig.versionCode}-${defaultConfig.versionName}-${releaseTime()}.apk"
         //deffileName=outputFile.name.replace("app","${rootProject.ext.appName}-${releaseTime()}-${defaultConfig.versionCode}-${defaultConfig.versionName}")

output.outputFile=newFile(outputFile.parent,fileName)
}
}
}

}

dependencies{
compilefileTree(dir:'libs',include:['*.jar'])
testCompile'junit:junit:4.12'
compile'com.android.support:appcompat-v7:23.1.0'
}


效果




                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: