最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android打包版本號(hào)設(shè)置方法

 更新時(shí)間:2017年10月07日 10:24:12   作者:Shengjie  
這篇文章主要介紹了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 ViewDragHelper完全解析 自定義ViewGroup神器

    Android ViewDragHelper完全解析 自定義ViewGroup神器

    這篇文章主要為大家詳細(xì)介紹了Android ViewDragHelper完全解析,自定義ViewGroup神器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • Android Tab 控件詳解及實(shí)例

    Android Tab 控件詳解及實(shí)例

    這篇文章主要介紹了Android Tab 控件詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Android實(shí)現(xiàn)斷點(diǎn)多線程下載

    Android實(shí)現(xiàn)斷點(diǎn)多線程下載

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)斷點(diǎn)多線程下載,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Android多渠道打包時(shí)獲取當(dāng)前渠道的方法

    Android多渠道打包時(shí)獲取當(dāng)前渠道的方法

    這篇文章主要介紹了Android多渠道打包時(shí)獲取當(dāng)前渠道的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Android實(shí)現(xiàn)底部彈出的對(duì)話框功能

    Android實(shí)現(xiàn)底部彈出的對(duì)話框功能

    這篇文章主要介紹了Android實(shí)現(xiàn)底部彈出的對(duì)話框功能,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • Flutter 路由插件fluro的使用

    Flutter 路由插件fluro的使用

    使用原生的路由基本上能夠滿(mǎn)足大部分需求,但如果想要對(duì)頁(yè)面做類(lèi)似瀏覽器 url 那樣的路由,或者控制頁(yè)面跳轉(zhuǎn)的轉(zhuǎn)場(chǎng)動(dòng)畫(huà),那么原生的路由需要做不少的改造。在 pub 上,有優(yōu)秀的路由插件 fluro 解決這類(lèi)問(wèn)題。本文介紹該插件的使用方法
    2021-06-06
  • Android自定義ImageView實(shí)現(xiàn)圓角功能

    Android自定義ImageView實(shí)現(xiàn)圓角功能

    這篇文章主要為大家詳細(xì)介紹了Android自定義ImageView實(shí)現(xiàn)圓角功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Android添加(創(chuàng)建)、刪除及判斷是否存在桌面快捷方式的方法

    Android添加(創(chuàng)建)、刪除及判斷是否存在桌面快捷方式的方法

    這篇文章主要介紹了Android添加(創(chuàng)建)、刪除及判斷是否存在桌面快捷方式的方法,涉及Android針對(duì)桌面快捷方式的相關(guān)操作技巧,需要的朋友可以參考下
    2015-05-05
  • Android ListView UI組件使用說(shuō)明

    Android ListView UI組件使用說(shuō)明

    這篇文章主要介紹了Android ListView UI組件使用說(shuō)明,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • android中圖形圖像處理之drawable用法分析

    android中圖形圖像處理之drawable用法分析

    這篇文章主要介紹了android中圖形圖像處理之drawable用法,較為詳細(xì)的分析了Android中繪圖所涉及的各種常用技巧與方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10

最新評(píng)論

客服| 永福县| 靖远县| 石景山区| 葫芦岛市| 读书| 宽城| 兴义市| 云安县| 博罗县| 遂川县| 锡林浩特市| 杭锦旗| 高邑县| 江源县| 昭觉县| 闵行区| 漯河市| 门源| 栖霞市| 康马县| 库尔勒市| 岑溪市| 石阡县| 祥云县| 格尔木市| 木兰县| 广饶县| 胶州市| 平罗县| 彭阳县| 宁乡县| 孟州市| 通化市| 沙田区| 弥渡县| 丰城市| 永靖县| 永顺县| 三都| 阳新县|