中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Gradle中如何自定義APK名稱與輸出路徑

發布時間:2021-07-30 14:22:32 來源:億速云 閱讀:242 作者:小新 欄目:移動開發

這篇文章主要為大家展示了“Gradle中如何自定義APK名稱與輸出路徑”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Gradle中如何自定義APK名稱與輸出路徑”這篇文章吧。

需求

需求是這樣的,我們的項目在上線的時候需要根據公司的明明規則重新對apk文件命名后才能發布到市場上。于是生成的每個apk文件都需要重新命名,如果渠道較少還好說,但是如果多的話就麻煩了。

其實方法很簡單,只需要在你的app的Build.gradle文件中添加以下代碼就可以了。

android {
 ……//省略部分代碼
 applicationVariants.all {
  //判斷是release還是debug版本
  def buildType = it.buildType.name
  def fileName
  //下面的channel是獲取渠道號,你獲取渠道號不一定會和我的代碼一樣,因為有可能你的渠道名稱的規則和我的不一樣,我的規則是${渠道名}-${applicationId},所以我是這樣取的。
  def channel = it.productFlavors[0].name.split("-")[0]
  //獲取當前時間的"YYYY-MM-dd"格式。
  def createTime = new Date().format("YYYY-MM-dd", TimeZone.getTimeZone("GMT+08:00"))
  //只對Release包起作用,如果不是Release包則不變更輸出路徑,否則可能導致AS無法自動安裝debug包。
  if (buildType == "release") {
   it.getPackageApplication().outputDirectory = new File(project.rootDir.absolutePath + "/apks/${it.productFlavors[0].applicationId}/${createTime}")
  }
  it.outputs.each {
   //只對Release包起作用,如果不是Release包則不變更名稱。
   if (buildType == "release") {
    //我此處的命名規則是:渠道名_項目名_版本名_創建時間_構建類型.apk
    fileName = "${channel}_項目名稱_v${defaultConfig.versionName}_${createTime}-${buildType}.apk"
    //將名字打印出來,以便及時查看是否滿意。
    println "文件名:-----------------${fileName}"
    //重新對apk命名。(適用于Gradle4.0以下版本)
    //it.outputFile = new File(it.outputFile.parent, fileName)
    //重新對apk命名。(適用于Gradle4.0(含)以上版本)如果你Gradle版本是4.0以下版本則將上面的一行代碼放開并注釋下面的這一行。
    it.outputFileName = fileName
   }
  }
 }
 ……//省略部分代碼
}

怎么樣?上面的代碼是不是很簡單,只需要把代碼拷貝到你的項目中然后響應的地方改成你的就OK了。代碼相信大家都能看懂,都是Groovy代碼,如果不懂可以去百度一下,教程一堆。

補充一點:

上面代碼中一句println fileName可能有的同學不知道在哪里查看,這個需要到Gradle Console中去查看。不知道在哪里的看下面的圖片:

如果你覺得文章內容對你有幫助請幫忙頂一下,你的支持是對我最大的鼓勵。謝謝!!!

Gradle中如何自定義APK名稱與輸出路徑

以上是“Gradle中如何自定義APK名稱與輸出路徑”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

邵东县| 南郑县| 湘潭县| 遂溪县| 柏乡县| 综艺| 喀什市| 紫云| 阜康市| 大埔县| 宝清县| 永福县| 开鲁县| 松潘县| 海晏县| 荣昌县| 斗六市| 玉田县| 炉霍县| 黔南| 汽车| 阜新市| 盈江县| 阳曲县| 玛曲县| 启东市| 涡阳县| 婺源县| 即墨市| 潼南县| 容城县| 六盘水市| 青神县| 义马市| 建阳市| 呼图壁县| 白玉县| 怀宁县| 威远县| 通化县| 渑池县|