Сбой при создании подписанного пакета, но при успешной генерации обычного пакета Android Studio - PullRequest
1 голос
/ 12 июля 2019

У меня есть проект React Native (0.59.10), и я хочу начать использовать новую программу Google App Signing для небольших сборок, загрузок и т. Д. Чтобы зарегистрироваться в этой программе, мне нужнозагрузить экспортированный ключ подписи приложения в Android Studio:

Экспортируйте свой ключ из Android Studio.В меню «Сборка» выберите «Создать подписанный пакет / APK».Выберите опцию Bundle и нажмите Next.Выберите Export the зашифрованный ключ и нажмите Next.

Однако, когда я прохожу этот процесс, он завершается неудачно во время сборки со следующей ошибкой:

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':app:preReleaseBuild'.
> Could not resolve all dependencies for configuration ':app:releaseRuntimeClasspath'.
   > java.util.ConcurrentModificationException (no error message)

Странно, если япросто выберите приложение (без подписи), оно работает без проблем.Я также могу создать подписанный APK и загрузить его в игровой магазин с

./gradlew assembleRelease.

Вот файл с проектом моего проекта:

ext {
    buildToolsVersion = "28.0.3"
    minSdkVersion = 19
    compileSdkVersion = 28
    targetSdkVersion = 28
    supportLibVersion = "28.0.0"
    playServicesVersion = "11.0.2"
}


buildscript {
    repositories {
        google()
        jcenter()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
        google()
    }
    dependencies {
        classpath('com.android.tools.build:gradle:3.4.2')
        classpath("com.google.gms:google-services:4.0.1")
        classpath("com.jaredsburrows:gradle-license-plugin:0.8.41")
        classpath("embrace-io:embrace-swazzler:3.1.6")
    }
}

allprojects {
    repositories {
        mavenLocal()
        google()
        jcenter()
        maven {
            url "$rootDir/../node_modules/react-native/android"
        }
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
        maven {
            url "$rootDir/../node_modules/react-native/android"
        }
        configurations.all {
            resolutionStrategy.eachDependency { DependencyResolveDetails details ->
                def requested = details.requested
                if (requested.group == 'com.google.android.gms') {
                    details.useVersion '12.0.1'
                }
                if (requested.group == 'com.google.firebase') {
                    details.useVersion '12.0.1'
                }
                if (requested.group == 'com.android.support') {
                    if (!requested.name.startsWith("multidex")) {
                        details.useVersion "${rootProject.ext.supportLibVersion}"
                    }
                }
            }
        }
    }
}

subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion rootProject.ext.compileSdkVersion
                buildToolsVersion rootProject.ext.buildToolsVersion
            }
        }
    }
}

Вещи, которые я пробовал

  • Обновление / переустановка SDK поддержки Android

  • Обновление / переустановка SDK поддержки Google

  • Удаление всех пакетов и переустановка с помощью Yarn

  • Обновление версий Gradle

  • Обновление отдельных пакетов npm

  • Очистка / восстановление / аннулирование и перезапуск Android Studio

Любая помощь или альтернативные решения будут высоко оценены, спасибо!

1 Ответ

1 голос
/ 12 июля 2019

Поскольку вам удалось создать подписанный релиз APK, я предполагаю, что у вас есть все настройки хранилища ключей и подписи.

Что я сделал для подписи в Google App, так это использовал второй вариант (Экспорт изагрузить ключ из хранилища ключей Java) вместо первого.Просто скачайте инструмент PEPK и следуйте инструкциям, которые дает консоль Play Store (они дают команду для создания файла, который нужно загрузить).

Для создания пакета вместо APK;внутри папки android используйте команду

./gradlew bundleRelease

Созданный комплект можно найти в

android / app / build / output / bundle / release / app.aab

Это пакетный файл, который я загружаю в Google Play

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...