自定義 Android Gradle 打包時生成的 apk 名稱

寫在前面的話

Android 程序開發完成之後,我們少不了的是要生成手機可用的 apk 軟件安裝包
Build > Generate Signed Bundle / APK
一頓操作之後,發現生成的名字是 app-release.apk,作爲一個程序員,變量命名要有意義,這個 app-release 一點可識性都沒有,果斷修改

囉嗦一句

早期的 Android Studio 寫程序時,使用以下代碼進行修改,可以完美實現想要的功能,但在更新了新版本的 Adnroid Studio 之後,發現 outputFile 只讀了,會報錯,
這時候修改成下面新版本的代碼即可

舊版本代碼

app > build.gradle
修改 android 節點下的 buildTypes 節點,增加如下代碼

applicationVariants.all { variant ->
    variant.outputs.each { output ->
        def newName = output.outputFile.name
        newName = newName.replace("app-release", "ZQUNYAN-release-" + "${variant.versionName}")
        output.outputFile = new File(output.outputFile.parent, newName)
    }
}
新版本更新

在使用新版本的 Android Studio 時,提示報錯 outputFile 爲只讀,不可編輯
以上代碼使用如下替代

android.applicationVariants.all { variant ->
    variant.outputs.all {
        outputFileName = "${defaultConfig.applicationId}_${defaultConfig.versionName}.apk"
    }
}
PS

自定義文件名時,常用的變量爲 gradle 中定義的 defaultConfig 中的變量。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章