Android打包版本號(hào)設(shè)置方法
之前沒(méi)有設(shè)置過(guò)打包的命名,每次打包都是默認(rèn)的"app-realease.apk",之后手動(dòng)修改名字來(lái)顯示出它是一個(gè)新版本。
晚上學(xué)習(xí)了如何配置打包名稱(chēng),很簡(jiǎn)單,修改build.gradle里的代碼就行。
詳細(xì)記錄如下:
1、打開(kāi)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、自定義打包名稱(chēng)(代碼中的XYZ可修改為app名字):
//名稱(chēng)
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'
}
}
//配置打包名稱(chēng)
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-01
Kotlin 實(shí)現(xiàn)按鈕點(diǎn)擊跳轉(zhuǎn)監(jiān)聽(tīng)事件方式
這篇文章主要介紹了Kotlin 實(shí)現(xiàn)按鈕點(diǎn)擊跳轉(zhuǎn)監(jiān)聽(tīng)事件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03
android實(shí)現(xiàn)簡(jiǎn)易計(jì)算器
這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)簡(jiǎn)易計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07
Flutter應(yīng)用程序?qū)崿F(xiàn)隱私屏幕示例解析
這篇文章主要為大家介紹了Flutter應(yīng)用程序?qū)崿F(xiàn)隱私屏幕示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
Android Intent傳遞對(duì)象的兩種方法(Serializable,Parcelable)詳細(xì)介紹
這篇文章主要介紹了Android Intent傳遞對(duì)象的兩種方法(Serializable,Parcelable)詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-12-12

