1. 程式人生 > >Android Studio中Gradle自定義APK名稱及輸出路徑

Android Studio中Gradle自定義APK名稱及輸出路徑

使用AndroidStudio生成Android APK時候,往往需要指定APK輸出路徑及重新命名APK。 因此在Gradle中編碼,以實現上述需求:

android {
	...// 省略已存在程式碼
	applicationVariants.all {
		// 判斷Debug or Release
		def buildType = it.buildType.name
		def fileName
		// 下面的channel是獲取渠道號,根據渠道定義的規則確定程式碼,非必須
		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包可以變更路徑(因為AS會自動安裝Debug包,故Debug包路徑不能改變) if (buildType == "release") { it.getPackageApplication().outputDirectory = new File(project.rootDir.absolutePath + "/apks/${it.productFlavors[0].applicationId}/${createTime}"
) } it.outputs.each { // 同理,只有Release包可以變更名稱 if (buildType == "release") { // 命名規則:渠道名_專案名_版本名_建立時間_構建型別.apk fileName = "${channel}_專案名稱_v${defaultConfig.versionName}_${createTime}_${buildType}.apk" // 將名字打印出來檢視效果 println "檔名:--->${fileName}" // 命名生效 //it.outputFile = new File(it.outputFile.parent,fileName) // 適用於Gredle 4.0以下版本
it.outputFileName = fileName // Gradle 4.0及以上 } } } ...// 省略部分程式碼 }

將上述程式碼新增到自己的Gradle程式碼中按需更改即可 還有一點println fileName輸出可在Gradle Console中檢視: 在這裡插入圖片描述