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

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

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

瀏覽:230日期: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久久,三上悠亚国产精品一区二区三区
av最新在线| 亚洲ww精品| 欧美亚洲tv| 欧美日韩国产精品一区二区亚洲| 电影亚洲精品噜噜在线观看| 精品免费视频| 国产精品qvod| 国产精品va| 久久国产日韩欧美精品| 日韩黄色av| 欧美一区激情| 欧美午夜精彩| 欧美日韩一二| 亚洲午夜黄色| 日韩一区电影| 日韩精品诱惑一区?区三区| 国产成人免费精品| 一区二区不卡| 日韩免费精品| 国产日韩一区二区三区在线| 国产乱人伦丫前精品视频| 日韩av中文在线观看| 青青草91视频| 美女精品视频在线| 国产一区二区三区精品在线观看 | 午夜av不卡| 日韩欧美网址| 免费国产自久久久久三四区久久 | 欧美日韩国产在线观看网站| 欧美不卡在线| 性欧美精品高清| 亚洲精品一级| 国产欧美一区二区三区国产幕精品 | 视频在线在亚洲| 亚洲一区二区成人| 中文字幕日韩高清在线 | 在线视频精品| 国产丝袜一区| 人人草在线视频| 午夜久久免费观看| 亚洲伊人精品酒店| 久久精品72免费观看| 国产精品15p| 成年男女免费视频网站不卡| 亚洲精品一区二区妖精| 亚洲综合专区| 国产欧美在线| 波多视频一区| 欧美精品一卡| 日韩和欧美一区二区三区| 欧美激情aⅴ一区二区三区 | 国产一区二区三区黄网站| 欧美亚洲国产一区| 一区免费视频| 日韩欧美美女在线观看| 久久精品国产一区二区| 999国产精品| 蜜桃视频在线观看一区| 国产精品视频一区视频二区| av资源亚洲| 亚洲一区二区免费在线观看| 欧美国产另类| 99在线精品免费视频九九视| 69精品国产久热在线观看| 中文在线а√在线8| 久久亚洲一区| 卡一卡二国产精品| 亚洲激情偷拍| 国产精品一区二区99| 亚洲一级少妇| 日韩中文av| 成人羞羞视频播放网站| 日韩精品电影一区亚洲| 亚洲美女久久精品| 免费的成人av| 成人高清一区| 亚洲理论在线| 国产美女高潮在线| 日韩手机在线| 啪啪国产精品| 欧美日韩xxxx| 午夜日韩在线| 国产一区二区三区四区大秀| 久久亚洲电影| 97精品国产| 日韩欧美中文在线观看| 久久一区二区三区电影| 欧美国产三级| 久久亚洲二区| 亚洲四虎影院| 国产欧美一区二区精品久久久 | 亚洲国产日韩欧美在线| 国产一区三区在线播放| 日本综合精品一区| 一区二区视频欧美| 久久久久亚洲精品中文字幕| 中文不卡在线| 午夜久久一区| 亚洲天堂1区| 麻豆精品99| 日本精品在线播放| 亚洲女同中文字幕| 日韩黄色大片| 国产成人免费精品| 91成人在线| 亚洲免费一区二区| 日韩毛片在线| 精品国产亚洲一区二区在线观看| 日韩欧美久久| 亚洲一级淫片| 亚洲一本视频| 中文字幕在线免费观看视频| 国产精品美女午夜爽爽| 日韩在线电影| 欧美 日韩 国产一区二区在线视频| 久久亚州av| 国产午夜精品一区在线观看| 蜜臀精品久久久久久蜜臀| 激情欧美日韩一区| 国产专区精品| 美女视频黄免费的久久| 青青草视频一区| 久久精品999| 欧美日韩1区2区3区| 亚洲综合婷婷| 亚洲精品电影| 樱桃成人精品视频在线播放| 久久久成人网| 日韩专区精品| 色一区二区三区| 成人va天堂| 另类中文字幕国产精品| 国产精品原创| 亲子伦视频一区二区三区| 国产在线观看www| 日韩av专区| 偷拍精品精品一区二区三区| 亚洲欧洲高清| av高清不卡| 亚洲成av人片一区二区密柚| 国产精品一区亚洲| 国产乱码精品一区二区三区亚洲人| 日韩激情网站| 国产精品一级| 狠狠久久伊人| 青青青免费在线视频| 日韩精品免费一区二区在线观看 | 丝袜美腿亚洲一区二区图片| 日韩精品一二三| 亚洲久草在线| 蜜臀a∨国产成人精品| 日韩国产欧美三级| 国产精品密蕾丝视频下载| 久久精品伊人| 日韩免费高清| 自拍日韩欧美| 亚洲a成人v| 麻豆精品一区二区综合av| 久久av网站| 日韩精品免费一区二区在线观看| 午夜国产精品视频| 天堂va在线高清一区| 国产精品九九| 人人草在线视频| 亚洲一区欧美二区| 日韩精品一页| 久久精品日韩欧美| 久久三级视频| 亚洲一区网站| 国产另类在线| 亚洲www啪成人一区二区| 国产亚洲一区在线| 国产亚洲高清在线观看| 福利片在线一区二区| 中文字幕高清在线播放| 精品一区在线| 日本不卡不码高清免费观看| 久久精品三级| 久久久久久久久成人| 日韩av免费| 亚洲免费影院| 亚洲色诱最新| 国产精品亚洲人成在99www| 不卡福利视频| 91成人超碰| 久久国产人妖系列| 久久一区视频| 亚洲在线观看| 香蕉久久一区| 高清一区二区| 亚洲图片久久| 麻豆视频久久| 国产精品美女久久久| 亚洲精品国产精品粉嫩| 日韩国产在线| 免费观看在线色综合| 老司机精品视频网| 亚洲手机在线| 亚洲精品激情| 精品国产一区二|