我有一个React Native(0.59.10)项目,我想开始使用新的Google App Signing程序进行较小的构建,下载等。要注册该程序,我需要上传导出的应用签名密钥表单Android Studio:
从Android Studio导出密钥。从“生成”菜单中,选择 生成签名包/ APK。选择捆绑选项,然后按下一步。 选择导出加密密钥,然后按下一步。
但是,当我执行此过程时,它在构建过程中失败,并出现以下错误:
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,并使用
将其上传到Play商店 ./gradlew assembleRelease
。
这是我的项目gradle文件:
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
}
}
}
}
更新/重新安装Android支持SDK
更新/重新安装Google Support SDK
删除所有软件包并使用Yarn重新安装
升级Gradle版本
更新单个npm软件包
清理/重建/失效并重启Android Studio
非常感谢任何帮助或替代解决方案,谢谢!
答案 0 :(得分:1)
既然您已经成功创建了一个签名发行版APK,那么我想您已经完成了所有密钥库和签名设置。
我为Google App签名所做的是使用第二个选项(从Java密钥库导出和上载密钥),而不是第一个选项。只需下载PEPK工具,然后按照Play商店控制台提供的说明进行操作(他们会提供创建您要上传的文件的命令)。
用于创建包而不是APK;从android文件夹内部使用命令
./gradlew bundleRelease
创建的捆绑包可以在
中找到android / app / build / outputs / bundle / release / app.aab
这是我上传到Google Play的捆绑文件