国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Gradle配置教程之自定義APK名稱與輸出路徑

2019-10-22 18:14:06
字體:
來源:轉載
供稿:網友

前言

接觸Android Stuidio有一陣子了,之前用的時候有很多小問題,不過現在的版本感覺已經很好用了,所以準備徹底從Eclipse轉戰Android Stuidio,這段時間把以前經常使用的公用庫都從Eclipse移植過來了,今天研究了一下在Android Studio下進行打包簽名之類的操作,其實主要是研究Gradle了,以前沒有用過Gradle,但是早就耳聞Gradle是非常強大的構建系統,經過一天的奮戰,現在整理記錄下,以供大家參考和以后查閱。

需求

需求是這樣的,我們的項目在上線的時候需要根據公司的明明規則重新對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名稱,apk輸出路徑,自定義方法

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海淀区| 阳城县| 合肥市| 铜陵市| 保山市| 印江| 丹巴县| 大竹县| 临朐县| 宽城| 呼和浩特市| 陕西省| 加查县| 黄陵县| 桂东县| 孝义市| 北安市| 泾阳县| 辽中县| 玉溪市| 河南省| 藁城市| 夏河县| 孙吴县| 玉环县| 陆良县| 廉江市| 榆中县| 嵩明县| 威信县| 淮北市| 遵化市| 大城县| 怀来县| 陈巴尔虎旗| 鄂尔多斯市| 墨江| 隆德县| 临桂县| 宜君县| 蒲城县|