2025年2月28日 星期五 甲辰(龙)年 腊月廿八 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 软件应用 > 开发工具(IDE)

Android 如何让打包出来的apk或者aab文件名更有规律?

时间:03-31来源:作者:点击数:49

问题背景

Android Studio中,打包项目时,不论是debug还是release,不管是apk还是未来的aab,文件名一般都是很没有辨识度的,例如

  • app-debug.apk
  • app-release.apk
  • app.aab

有什么办法让文件名更有规律一点呢?比如带上版本号之类的。

解决方法

一般使用gradle工具进行打包,通过修改build.gradle可以修改输出包的名字。

有两种做法:

方法1. 设置outputFileName

示例

  • applicationVariants.all {
  • outputs.forEach { output ->
  • if (output is com.android.build.gradle.internal.api.BaseVariantOutputImpl) {
  • output.outputFileName =
  • "${applicationId}-v${versionName}(${this.versionCode})-${name}.${output.outputFile.extension}"
  • }
  • }
  • }

输出结果

  • com.example.sampleproject-v1.0.0(101)_release.apk

需要注意的是

这个设置只对apk有效,对于app bundle,也就是谷歌马上要强制推行的aab文件是无效的。

需要使用下一个方案。

方法2. 设置archivesBaseName

archivesBaseName的话,只是最终输出文件的基本名,不含文件后缀,所以,可以对任何输出结果都有效。

示例

  • android {
  • ...
  • defaultConfig {
  • ...
  • setProperty("archivesBaseName", "${applicationId}-v${versionName}(${versionCode})")
  • }
  • }

输出结果

  • com.example.sampleproject-v1.0.0(101)-release.apk
  • 或者
  • com.example.sampleproject-v1.0.0(101).aab

如果想要把git提交的commit号也添加到输出文件里,可以用以下设置

  • def gitCommit = "git rev-parse --short HEAD".execute().text.trim()
  • archivesBaseName = "${defaultConfig.applicationId}-${defaultConfig.versionName}v${defaultConfig.versionCode}-${gitCommit}"
  • println 'outputFileName: after = ' + archivesBaseName

完美。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门