美文网首页
Android 如何让打包出来的apk或者aab文件名规则统一

Android 如何让打包出来的apk或者aab文件名规则统一

作者: MeetYaKo | 来源:发表于2022-06-01 10:39 被阅读0次

    问题背景:

    我们平时用Android Studio打包时候,如果不加规则限制,打包出来的名称都是

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

    那么怎么让我们打包的时候更有观赏性,让名称一目了然呢?

    解决方法

    一般我们都是在build.gradle里面添加配置,目前有两种方法:

    方法一:

    android{
      applicationVariants.all { variant ->
            variant.outputs.all {
                def df = new SimpleDateFormat("MMdd")
                outputFileName = "xxx_${df.format(new Date())}_v${defaultConfig.versionName}_${variant.name}.apk"
            }
        }
    }
    

    输出结果:

    xxx_0526_v1.0.0_release.apk
    

    但是这种方法只针对打包apk文件,如果想要aab和apk同时生效,那么需要使用第二种方法

    方法二:

    android {
      ...
      defaultConfig {
        ...
         def df = new SimpleDateFormat("MMdd")
         setProperty("archivesBaseName", "xxx_${df.format(new Date())}_v${versionName}")
      }
    }
    

    输出结果:

    xxx_0526_v1.0.0_release.apk
    xxx_0526_v1.0.0_release.aab
    

    有些同学还想要加上git的分支名称或者git的commit提交id,可以使用下面的方法

    /**
     * 获取当前git分支名称,用于打包
     * @return 分支名称
     */
    def gitBranch() {
        def branch = ""
        def proc = "git rev-parse --abbrev-ref HEAD".execute()
        proc.in.eachLine { line -> branch = line }
        proc.err.eachLine { line -> println line }
        proc.waitFor()
        branch
    }
    android {
      ...
      defaultConfig {
        ...
         resValue "string", "gitBranch", gitBranch()
         //获取当前git提交commitId
         def gitCommit = "git rev-parse --short HEAD".execute().text.trim()
         //时间格式化
         def df = new SimpleDateFormat("MMdd")
         //输出
         setProperty("archivesBaseName", "xxx_${gitBranch()}_${gitCommit}_${df.format(new Date())}_v${versionName}")
      }
    }
    

    输出结果:

    xxx_master_46220b0e_0526_v1.0.0_release.apk
    xxx_master_46220b0e_0526_v1.0.0_release.aab
    

    两种方法,如果只需要打包apk文件,使用第一种就可以,如果需要apk和aab都需要打包,那么只使用第二种方法就可。

    相关文章

      网友评论

          本文标题:Android 如何让打包出来的apk或者aab文件名规则统一

          本文链接:https://www.haomeiwen.com/subject/qbqxmrtx.html