1. 程式人生 > >Android studio 自定義打包apk名

Android studio 自定義打包apk名

roi fault targe test 包名 如果 nts time css

Android Studio打包應用默認生成的apk名稱是:app-release.apk 、如果我們要讓生成的apk名跟我們版本包名有聯系的話,那我們就要自定義生成的apk名了

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

// apk name def
    android.applicationVariants.all { variant ->
        variant.outputs.each { output ->
            output.outputFile = new File(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
apply plugin: 
com.android.application def releaseTime() { return new Date().format("yyyy-MM-dd", TimeZone.getTimeZone("UTC")) } android { compileSdkVersion 23 buildToolsVersion "23.0.1" defaultConfig { applicationId "com.djk.myapplication" minSdkVersion 14 targetSdkVersion
23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(proguard-android.txt), proguard-rules.pro } } productFlavors{ develop{} xiaomi{} huawei{} anzhi{} } android.applicationVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith(.apk)) { //這裏修改apk文件名 def fileName = "demo_${variant.productFlavors[0].name}-${defaultConfig.versionCode}-${defaultConfig.versionName}-${releaseTime() }.apk"           //def fileName = outputFile.name.replace("app", "${rootProject.ext.appName}-${releaseTime()}-${defaultConfig.versionCode}-${defaultConfig.versionName}") output.outputFile = new File(outputFile.parent, fileName) } } } } dependencies { compile fileTree(dir: libs, include: [*.jar]) testCompile junit:junit:4.12 compile com.android.support:appcompat-v7:23.1.0 }

效果

技術分享

 

Android studio 自定義打包apk名