根据 buildType 更改 apk 的名称

Change name of apk depending on buildType

我想更改输出 .apk 文件的名称。但是,我想根据构建类型附加“-debug”或“-release”。

这是我想要的输出名称: MyApp-0.0.1-debug.apk MyApp-0.0.1-release.apk

我不熟悉 Gradle 并且还没有找到如何执行此操作,我知道我只需要在以下代码中访问 buildType 但找不到如何执行此操作。

目前我的输出是 "MyApp-0.0.1.apk",无论 buildType 是什么。我怎样才能更改下面的代码来改变它?

android.libraryVariants.all { variant ->
variant.outputs.each { output ->
    def outputFile = output.outputFile
    if (outputFile != null && outputFile.name.endsWith('.aar')) {

        def fileName
        def bType = ""
        // bType = "-" + something.buildType

        fileName = "${archivesBaseName}-${project.version}${bType}.aar"
        output.outputFile = new File(outputFile.parent, fileName)
    }
}
}

构建类型是变体的一部分;您正在遍历循环中的所有变体。您可以通过以下方式获取构建类型名称:

variant.buildType.name

您可以在 http://tools.android.com/tech-docs/new-build-system/user-guide

找到(部分完整的)API 文档

对于迟到的人,这个版本在 2020 年 4 月

对我有用

只需将此代码放入您的 buildTypes 元素(androiddefaultConfig 也可以)。

applicationVariants.all { variant ->
      def customBuildName = ""
      if(variant.buildType.name == "release") customBuildName = "release-name.apk"
      else customBuildName = "build-name.apk"
      variant.outputs.all {
          outputFileName = customBuildName
      println("name of ${variant.buildType.name} build is ${outputFileName}")
    }
}