日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

android studio 打包自動生成版本號與日期,apk輸入路徑詳解

瀏覽:233日期:2022-09-25 15:45:00

一. 打開項目選擇如圖示1 (build.gradle 項目位置)

android studio 打包自動生成版本號與日期,apk輸入路徑詳解

二. 1. build.gradle 文件添加內容如下。gradle是【com.android.tools.build:gradle:3.0.0 以下版本】

android{ defaultConfig {...} 自動追加版本號和版本名稱 android.applicationVariants.all { variant->variant.outputs.each { output-> output.outputFile = new File(output.outputFile.parent,'app_device_v'+defaultConfig.versionName+'_'+new Date().format('yyyy-MM-dd')+'_'+buildType.name+'.apk') } }}

output.outputFile.parent 可以指定輸出到指定文件夾

2. build.gradle 文件添加內容如下。 gradle是【com.android.tools.build:gradle:3.0.0及其以上版本】

android{ defaultConfig {...} //release版本輸出包名自動追加版本號和版本名稱 applicationVariants.all { variant -> variant.outputs.all {//只處理生產版本if (buildType.name == ’release’) { def createTime = new Date().format('YYYY-MM-dd', TimeZone.getTimeZone('GMT+08:00')) // app包名稱 outputFileName = 'app_v' + defaultConfig.versionName + '_' + createTime + '_' + buildType.name + '.apk' ////指定release輸出到指定文件夾 variant.getPackageApplication().outputDirectory = new File(config.appReleaseDir + '/${createTime}')} } }}

三. 打包查看結果:圖示3(直接點擊assembleRelease即可)

android studio 打包自動生成版本號與日期,apk輸入路徑詳解

補充知識:Android編譯gradle 動態修改版本號

在構建代碼的時候不想每次都修改版本號,需能夠增加一個功能在特定的條件下動態的修改版本號

在manifest里面加入占位符號

<manifest xmlns:android='http://schemas.android.com/apk/res/android' android:versionCode='${versioncode}' android:versionName='${versionname}'>

修改build.gradle

import com.google.gson.Gsonclass Version { int versionCode String versionName}def versionJsonFile = file(’./version.json’)//這個文件最好放一個所有項目人員都能夠訪問的地方 def versionJsonObject = new Gson().fromJson(versionJsonFile.text, Version.class) android.applicationVariants.all { variant -> println('variants name : ' + variant.name) //只有滿足特定條件的情況下才會版本自增一,這個可以看看各個項目的特定配置 if (variant.name.toLowerCase().contains('ceshirelease') ) {println('variants name : versionCode ' + versionJsonObject.versionCode + 'versionname: ' + versionJsonObject.versionName)versionJsonObject.versionCode = versionJsonObject.versionCode + 1int lastIndexPoint = versionJsonObject.versionName.lastIndexOf('.')String newStr = versionJsonObject.versionName.substring(0, lastIndexPoint)println('newStr' + newStr)versionJsonObject.versionName = newStr + '.' + versionJsonObject.versionCodeprintln('versonJsonStr.versionName ' + versionJsonObject.versionName) } //這句是核心,可以調整版本號和版本明,修改了這個會影響到BuildConfig.class里面的屬性 variant.mergedFlavor.versionCode = versionJsonObject.versionCode variant.mergedFlavor.versionName = versionJsonObject.versionName //如果沒有加下面這句,當應用安裝后會出現應用信息沒有版本號的問題,這個必須有 variant.mergedFlavor.manifestPlaceholders.put('versioncode', versionJsonObject.versionCode) variant.mergedFlavor.manifestPlaceholders.put('versionname', versionJsonObject.versionName) } //為了記住最新的版本號,是需要進行文件的回寫的,什么時候回寫會好一點 //個人認為只有當打包apk的動作執行成功后 回寫文件記錄的版本號最優 afterEvaluate { project -> gradle.taskGraph.afterTask {task, taskState -> //這里如果assembleceshirelease 就具體的打包的變種項目,各個應用肯定不一樣,需要調整下 if (task.name.toLowerCase().contains('assembleceshirelease') && taskState.getFailure() == null) { println('try assemble ceshi release' ) //回寫文件操作 versionJsonFile.withPrintWriter { out ->out.println(new Gson().toJson(versionJsonObject)) } } } }

給apk重新命名也是同樣的道理

variant.getOutputs().all {File file = it.outputFile;println(' file property file.canRead() ' + file.canRead() + ' file.canWrite ' + file.canWrite())String pathString = file.getPath();println(' path String : ' + pathString + ' File.pathSeparator: ' + File.separator) //指定最終輸出的文件的目錄和名字pathString = file.getParent() + File.separator + 'test.apk';println(' path pathString : ' + pathString)file.renameTo(pathString) }

以上這篇android studio 打包自動生成版本號與日期,apk輸入路徑詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Android
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美亚洲国产一区| 亚洲一区二区三区免费在线观看 | 亚洲婷婷丁香| 在线观看一区| 一本一道久久a久久| 中文字幕亚洲精品乱码| 欧美一区激情| 麻豆国产91在线播放| 精品一区毛片| 老司机免费视频一区二区三区| а√在线中文在线新版| 欧美日韩亚洲三区| 欧美午夜网站| 精品国产欧美| 电影天堂国产精品| 婷婷激情久久| 久久亚洲欧洲| 日韩激情一区二区| 久久香蕉网站| 久久精品免费一区二区三区 | 国产精品极品在线观看| 美女国产精品久久久| 黄在线观看免费网站ktv| 欧美日中文字幕| 国产精品丝袜xxxxxxx| 综合亚洲视频| 欧美日韩18| 91综合网人人| av不卡在线| 91成人在线精品视频| 国产成人调教视频在线观看| 日韩精品免费一区二区三区| 亚洲免费黄色| 国产毛片精品久久| 日韩一区二区在线免费| 悠悠资源网久久精品| 美女网站久久| 国产精品一区二区av日韩在线| 欧美激情另类| 日韩视频在线一区二区三区| 偷拍亚洲精品| 最新亚洲一区| 国产主播一区| 老鸭窝一区二区久久精品| 亚洲激情中文在线| 免费精品视频最新在线| 国产欧美三级| 久久精品国产68国产精品亚洲| 亚洲一区二区免费在线观看| 国产欧美日韩在线一区二区 | 性欧美videohd高精| 91高清一区| 性欧美精品高清| 国产福利资源一区| 婷婷激情综合| 国产精品xvideos88| 激情婷婷久久| 国产精品久久久久久久免费软件| 久久一区二区中文字幕| 日韩精品乱码av一区二区| 精品国产亚洲日本| 99热精品在线| 你懂的国产精品| 国产视频久久| 久久尤物视频| 日韩制服丝袜先锋影音| 狠狠久久伊人中文字幕| 91精品亚洲| 国产精品毛片aⅴ一区二区三区| 日本视频一区二区| 热久久国产精品| 国产午夜久久av| 欧美成人a交片免费看| 亚洲小说春色综合另类电影| 九九久久国产| 综合一区av| 午夜欧美在线| 日韩在线一区二区| av综合电影网站| 7777精品| 国产精品嫩草99av在线| 久久久久久亚洲精品美女| 亚洲午夜久久久久久尤物| 麻豆精品在线播放| 日本综合精品一区| 91久久午夜| 在线天堂中文资源最新版| 日本国产欧美| 久久99伊人| 香蕉成人av| 欧美国产中文高清| 日韩精品免费观看视频| 亚洲一区观看| 亚洲91视频| 久草免费在线视频| 精品视频自拍| 国产精品日韩精品在线播放| 免费的成人av| 女同性一区二区三区人了人一| 亚洲成av在线| 国产精品yjizz视频网| 免费在线观看一区| 日韩av一二三| 日本久久一区| 天堂俺去俺来也www久久婷婷| 亚洲一区日本| 国产一在线精品一区在线观看| 亚洲国产欧美日本视频| 成人日韩av| 精品一区二区三区在线观看视频| 国产精品主播在线观看| 久久国产日韩欧美精品| 亚洲精品一二三**| 一区二区国产在线| 亚洲一二三区视频| 中文字幕一区二区三区日韩精品| 在线午夜精品| 亚洲专区一区| 国产精品嫩草99av在线| 亚洲一区二区毛片| 在线观看视频免费一区二区三区| 久久亚洲电影| 蜜桃传媒麻豆第一区在线观看| 中文日韩欧美| 玖玖精品视频| 日韩一区精品视频| 日韩中出av| 日本va欧美va瓶| 日韩成人午夜精品| 欧美亚洲一区二区三区| 国产欧美一区二区色老头| 国产亚洲高清一区| 国产福利资源一区| 精品免费av| 欧美aa在线观看| 久久久9色精品国产一区二区三区| 成人看片网站| 亚洲不卡av不卡一区二区| 不卡一二三区| 亚洲午夜黄色| 9国产精品视频| 亚洲网址在线观看| 日韩欧美高清一区二区三区| 欧美一区自拍| 免费在线日韩av| 水蜜桃久久夜色精品一区| 欧美sss在线视频| 欧美精品一二| 免费不卡在线视频| 国产香蕉精品| bbw在线视频| 午夜电影亚洲| 91欧美日韩在线| 丰满少妇一区| 亚洲午夜黄色| 午夜天堂精品久久久久| 国产麻豆一区二区三区精品视频| 蜜桃久久久久| 黄色在线观看www| 国产亚洲一级| 久久激情av| 日韩激情一区| 蜜桃视频一区二区| 久久精品国产99国产| 久久精品国内一区二区三区水蜜桃| 亚洲一区欧美二区| 国产精品天堂蜜av在线播放| 五月激情久久| 免费人成网站在线观看欧美高清| 欧美日一区二区在线观看| 中文字幕在线看片| 日韩精品一二区| 国产精品中文| 中文字幕系列一区| 亚洲精品中文字幕99999| 麻豆精品在线| 欧美在线亚洲| 欧美黑人做爰爽爽爽| 一区二区三区视频免费观看| 婷婷综合一区| 成人亚洲欧美| 亚洲精品少妇| 欧洲亚洲一区二区三区| 日韩一区二区三区四区五区| 日韩一区自拍| 亚洲影院天堂中文av色| 麻豆国产精品| 伊人成人网在线看| 人人爱人人干婷婷丁香亚洲| 99精品综合| 国产精品啊v在线| 国产女优一区| 国产精品毛片久久| 伊人www22综合色| 日本高清不卡一区二区三区视频| 日本在线不卡视频| 欧美高清不卡| 日本v片在线高清不卡在线观看| 日韩亚洲一区在线| 青青国产精品|