根据buildType更改apk的名称

时间:2015-02-06 20:51:11

标签: android-gradle

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

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

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

目前,无论buildType如何,我的输出都是“MyApp-0.0.1.apk”。如何更改以下代码以更改此内容?

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)
    }
}
}

2 个答案:

答案 0 :(得分:3)

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

variant.buildType.name

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

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

答案 1 :(得分:1)

对于任何迟到的人,此版本将于 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}")
    }
}