Android打包版本號(hào)設(shè)置方法
之前沒(méi)有設(shè)置過(guò)打包的命名,每次打包都是默認(rèn)的"app-realease.apk",之后手動(dòng)修改名字來(lái)顯示出它是一個(gè)新版本。
晚上學(xué)習(xí)了如何配置打包名稱,很簡(jiǎn)單,修改build.gradle里的代碼就行。
詳細(xì)記錄如下:
1、打開app這個(gè)directory下的build.gradle
2、定義打包時(shí)間:
//時(shí)間 def releaseTime() { return new Date().format("yyyyMMdd", TimeZone.getTimeZone("UTC")) }
3、自定義發(fā)布時(shí)的版本號(hào)(return的返回值可自行修改,例如1.0、2.0):
//版本號(hào) def getVersionName(){ return "2.0" }
4、自定義打包名稱(代碼中的XYZ可修改為app名字):
//名稱 applicationVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile def fileName if (outputFile != null && outputFile.name.endsWith('.apk')) { if (variant.buildType.name.equals('release')) { variant.mergedFlavor.versionName = getVersionName() fileName = "XYZ_${variant.mergedFlavor.versionName}_release.apk" } else if (variant.buildType.name.equals('debug')) { variant.mergedFlavor.versionName = getVersionName()+"."+releaseTime() fileName = "XYZ_${variant.mergedFlavor.versionName}_debug.apk" } output.outputFile = new File(outputFile.parent, fileName) } } }
5、build.gradle的完整代碼:
apply plugin: 'com.android.application' //定義時(shí)間 def releaseTime() { return new Date().format("yyyyMMdd", TimeZone.getTimeZone("UTC")) } //設(shè)置發(fā)布時(shí)的版本號(hào) def getVersionName(){ return "2.0" } android { compileSdkVersion 26 buildToolsVersion "26.0.0" defaultConfig { applicationId "***" minSdkVersion 14 targetSdkVersion 23 versionCode 1 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { buildConfigField("boolean","API_DEBUG","false") minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } debug { buildConfigField("boolean","API_DEBUG","true") minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } //配置打包名稱 applicationVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile def fileName if (outputFile != null && outputFile.name.endsWith('.apk')) { if (variant.buildType.name.equals('release')) { variant.mergedFlavor.versionName = getVersionName() fileName = "XYZ_${variant.mergedFlavor.versionName}_release.apk" } else if (variant.buildType.name.equals('debug')) { variant.mergedFlavor.versionName = getVersionName()+"."+releaseTime() fileName = "XYZ_${variant.mergedFlavor.versionName}_debug.apk" } output.outputFile = new File(outputFile.parent, fileName) } } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) }
總結(jié)
以上所述是小編給大家介紹的Android打包版本號(hào)設(shè)置方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
相關(guān)文章
Android小程序?qū)崿F(xiàn)選項(xiàng)菜單
這篇文章主要為大家詳細(xì)介紹了Android小程序?qū)崿F(xiàn)選項(xiàng)菜單,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05漂亮的Android音樂(lè)歌詞控件 仿網(wǎng)易云音樂(lè)滑動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了漂亮的Android音樂(lè)歌詞控件,仿網(wǎng)易云音樂(lè)滑動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01Kotlin 實(shí)現(xiàn)按鈕點(diǎn)擊跳轉(zhuǎn)監(jiān)聽事件方式
這篇文章主要介紹了Kotlin 實(shí)現(xiàn)按鈕點(diǎn)擊跳轉(zhuǎn)監(jiān)聽事件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03android實(shí)現(xiàn)簡(jiǎn)易計(jì)算器
這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)簡(jiǎn)易計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07Flutter應(yīng)用程序?qū)崿F(xiàn)隱私屏幕示例解析
這篇文章主要為大家介紹了Flutter應(yīng)用程序?qū)崿F(xiàn)隱私屏幕示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09Android Intent傳遞對(duì)象的兩種方法(Serializable,Parcelable)詳細(xì)介紹
這篇文章主要介紹了Android Intent傳遞對(duì)象的兩種方法(Serializable,Parcelable)詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-12-12