android bundle выпуска не подписывает ааб - PullRequest
0 голосов
/ 08 июня 2019

Я написал приложение для Android, но последний шаг в процессе релиза все еще ускользает от меня.Я предполагаю, что когда я запускаю gradle bundleRelease, он сгенерирует aab-файл, который я могу загрузить в магазине воспроизведения.Но магазин игры говорит, что пакет не подписан.Однако процесс сборки говорит, что он подписывает:

> Task :app:preBuild UP-TO-DATE
> Task :app:preReleaseBuild UP-TO-DATE
> Task :app:compileReleaseRenderscript NO-SOURCE
> Task :app:generateReleaseResValues UP-TO-DATE
> Task :app:generateReleaseResources UP-TO-DATE
> Task :app:mergeReleaseResources UP-TO-DATE
> Task :app:checkReleaseManifest UP-TO-DATE
> Task :app:createReleaseCompatibleScreenManifests UP-TO-DATE
> Task :app:mainApkListPersistenceRelease UP-TO-DATE
> Task :app:processReleaseManifest UP-TO-DATE
> Task :app:bundleReleaseResources UP-TO-DATE
> Task :app:checkReleaseDuplicateClasses UP-TO-DATE
> Task :app:mergeExtDexRelease UP-TO-DATE
> Task :app:compileReleaseAidl NO-SOURCE
> Task :app:generateReleaseBuildConfig UP-TO-DATE
> Task :app:prepareLintJar UP-TO-DATE
> Task :app:generateReleaseSources UP-TO-DATE
> Task :app:javaPreCompileRelease UP-TO-DATE
> Task :app:processReleaseResources UP-TO-DATE
> Task :app:compileReleaseJavaWithJavac UP-TO-DATE
> Task :app:transformClassesWithDexBuilderForRelease UP-TO-DATE
> Task :app:mergeDexRelease UP-TO-DATE
> Task :app:mergeReleaseShaders UP-TO-DATE
> Task :app:compileReleaseShaders UP-TO-DATE
> Task :app:generateReleaseAssets UP-TO-DATE
> Task :app:mergeReleaseAssets UP-TO-DATE
> Task :app:mergeReleaseJniLibFolders UP-TO-DATE
> Task :app:transformNativeLibsWithMergeJniLibsForRelease UP-TO-DATE
> Task :app:processReleaseJavaRes NO-SOURCE
> Task :app:transformResourcesWithMergeJavaResForRelease UP-TO-DATE
> Task :app:buildReleasePreBundle UP-TO-DATE
> Task :app:collectReleaseDependencies UP-TO-DATE
> Task :app:configureReleaseDependencies UP-TO-DATE
> Task :app:packageReleaseBundle UP-TO-DATE
> Task :app:signingConfigWriterRelease UP-TO-DATE
> Task :app:signReleaseBundle
> Task :app:bundleRelease

В скрипте сборки gradle есть раздел подписи:

android {
    ...
    signingConfigs {
        release {
            storeFile file(...)
            storePassword '...' 
            keyAlias '...'
            keyPassword '...'
        }
    }

Если я удаляю все aab-файлы перед запуском сборки, app.aab генерируется в

..\app\build\outputs\bundle\release

Кажется все по порядку, кроме магазина воспроизведения не принимает aab:

The Android App Bundle was not signed.

Как мне создать выпускаемый aab?

1 Ответ

1 голос
/ 09 июня 2019

Кажется, я нашел решение здесь Как создать файл с подписанным выпуском apk с помощью Gradle? , по-видимому, в buildType необходима запись signatureConfig .Ниже показано, как эти блоки выглядят в моем файле сборки после его добавления.

android {
    ...
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }
    }
}

Странно, что я ожидал, что он уже будет там?Поскольку я не фанат IntelliJ или Gradle, я буду записывать свои чувства по поводу всего процесса сборки и выпуска вплоть до неопытности с помощью набора инструментов.Важно то, что приложение находится в магазине игр.

...