[英]Android/gradle: include version name from flavor in apk file name
我發現了類似的問題,但沒有什么能夠解決我想做的事情。 我正在使用Android Studio和gradle進行開發,我的構建文件中有幾種風格,每種風格都有一個versionName。 有沒有辦法在APK文件中包含flavor的版本名稱?
編輯:對於Gradle工具的現代版本,使用@ ptx的變體(使用output.outputFile
代替variant.outputFile
:
android {
applicationVariants.all { variant ->
variant.outputs.each { output ->
output.outputFile = new File(output.outputFile.parentFile,
output.outputFile.name.replace(".apk", "${variant.versionName}.apk"));
}
}
}
從Gradle工具插件版本0.14開始,您應該開始使用以下代碼來正確支持多個輸出文件(例如APK Splits):
android {
applicationVariants.all { variant ->
variant.outputs.each { output ->
variant.outputFile = new File(variant.outputFile.parentFile,
variant.outputFile.name.replace(".apk", "${variant.versionName}.apk"));
}
}
}
對於舊版本:
是的,我們在我們的應用程序中執行此操作。 只需在build.gradle中的android標記中添加以下內容:
android {
applicationVariants.all { variant ->
def oldFile = variant.outputFile
def newPath = oldFile.name.replace(".apk", "${variant.versionName}.apk")
variant.outputFile = new File(oldFile.parentFile, newPath)
}
}
kcoppock的回答是正確的,但有一個小錯字。 它應該是:
android {
applicationVariants.all { variant ->
variant.outputs.each { output ->
output.outputFile = new File(output.outputFile.parentFile,
output.outputFile.name.replace(".apk", "${variant.versionName}.apk"));
}
}
}
(我寫這個作為答案,因為我沒有發表評論的聲譽)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.