Как изменить имя комплектов приложений Android (app.aab), чтобы отразить версию и тип сборки приложения - PullRequest
0 голосов
/ 08 февраля 2019

Пока я создаю APK, я могу изменить имя APK в build.gradle сценарии, например:

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 Bundles, не всегда удобно иметь app.aab

1 Ответ

0 голосов
/ 30 июля 2019

Я пришел к решению, как этого добиться с помощью Gradle.

Во-первых, нам нужно создать в приложении build.gradle файл задачу Gradle, которая переименует оригинал app.aab при копировании.Этот метод описан здесь .Затем для удобства добавим еще один метод, который удалит старый 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']
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...