簡體   English   中英

Android / gradle:包含apk文件名中的版本名稱

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM