在构建apk时,我可以在build.gradle脚本中更改apk名称,如下所示:

android.applicationVariants.all { variant ->
  if (variant.buildType.name != "debug") {
      variant.outputs.all {
          outputFileName = "${variant.applicationId}-v${variant.versionName}-${variant.name}.apk"
      }
  }
}

我要这样的东西com.myapp.package-v1.x.x-release
有没有类似android应用程序包的方法,总是有app.aab是不方便的?

最佳答案

我已经想出了解决办法,如何做到这一点与格雷德。
首先,我们必须在appbuild.gradle中创建一个gradle任务,该任务将在拷贝时重命名原始的app.aab。该方法被描述为here
然后为了方便起见,我们将添加另一个删除旧app.aab文件的方法。

android{
.....
}
dependencies{
.....
}
.....

task renameBundle(type: Copy) {
    from "$buildDir/outputs/bundle/release"
    into "$buildDir/outputs/bundle/release"

    rename 'app.aab', "${android.defaultConfig.versionName}.aab"
}

task deleteOriginalBundleFile(type: Delete) {
    delete fileTree("$buildDir/outputs/bundle/release").matching {
        include "app.aab"
    }
}

在本例中,输出文件名将类似于1.5.11.aab
然后我们可以将这些任务组合成publishRelease任务,用于发布应用程序:
task publishRelease(type: GradleBuild) {
    tasks = ['clean', 'assembleRelease', 'bundleRelease', 'renameBundle', 'deleteOriginalBundleFile']
}

08-04 03:42