根据buildType更改apk名称

问题描述 投票:0回答:2

我想改变我的输出.apk文件的名称。然而,我希望根据构建类型附加"-debug "或"-release"。

以下是我想要的输出文件名:MyApp-0.0.1-debug.apkMyApp-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)
    }
}
}
android-gradle-plugin
2个回答
4
投票

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

variant.buildType.name

你可以在以下网站找到(部分完整的)API文档 http:/tools.android.comtech-docsnew-build-system用户指南。


0
投票

对于晚到的人来说,这个版本对我来说是可以用的。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}")
    }
}

© www.soinside.com 2019 - 2024. All rights reserved.