React Native:Android:无法生成签名的APK

React Native: Android: Cannot generate signed APK

本文关键字:APK Native Android React      更新时间:2023-09-26
Execution failed for task ':app:packageRelease'.
Failed to read key my-key-alias from store
"/Users/MichaelLeung/GHRepos/MyApp/android/app/my-release-
key.keystore": Keystore was tampered with, or password was incorrect

我确信我的密码是正确的;我已经多次完成了Facebook在React Native文档上列出的步骤。

因此,如果您试图生成一个签名的APK,并且使用了一个非ASCII字母,则可能会出现此错误。

任务":app:packageRelease"的执行失败。

com.android.ide.common.signing.Keytool异常:无法从存储"/Users/…/…/…/android/app/my release-keystore"读取密钥my密钥别名:密钥库密码不正确

我找不到重置旧密码的方法。

值得庆幸的是,使用安卓工作室有一个解决方案。

首先,我必须删除gradle.properties和build.gradle中的所有代码,(我不得不根据文件添加。

这个解决方案来自这里的一条评论:Keystore密码不正确"我也面临同样的问题。在android studio中使用Build->Generate Signed APK是有效的,但将配置放在Build.gradle中则不然。">

然后使用"签名/keytool UI,它是Android Studio的一部分",可以在Build->Generate Signed Bundle/APK中找到。。。

在那里,你可以创建一个新的密钥存储密码和一个密钥密码,它们必须相同!!!

注意,完成后,安卓工作室将app-release.apk文件保存在安卓->应用->版本中。

快乐编码:(

我也遇到了同样的问题。在build.gradle中对设置进行硬编码后,而不是在grade.properties中对其进行偏移,这是有效的。

  signingConfigs {
    release {
        //if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
            storeFile file("key.keystore")
            storePassword "****"
            keyAlias "myKey"
            keyPassword "****"
       // }
    }
}

在使用java.lang.System.console(MYAPP_RELEASESTORE_PASSWORD(进行进一步测试后,我发现密码后面有一个空格。

  signingConfigs {
    release {            
        if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
        java.lang.System.console(MYAPP_RELEASE_STORE_PASSWORD)
            storeFile file(MYAPP_RELEASE_STORE_FILE)
            storePassword MYAPP_RELEASE_STORE_PASSWORD
            keyAlias MYAPP_RELEASE_KEY_ALIAS
            keyPassword MYAPP_RELEASE_KEY_PASSWORD
        }
    }
}

我尝试过:

$ ./gradlew clean
$ ./gradlew bundleRelease

它奏效了。

我从Yoruba的回答中得到了帮助,我正试图构建另一位开发人员留下的应用程序

我试图使用
keytool -genkey -v -keystore playnice.keystore -alias playnice -keyalg RSA -keysize 2048 -validity 10000

构建密钥库文件,然后命令提示符会询问密码,该密码应该与build.gradle文件中设置的密码相同

在我的案例中,build.gradle文件有密钥而不是密码,因此我在grade.properties中查找该密钥的值

不要混淆!这实际上是一个简单的错误输入您的密码:不在中

Users/YourName/.gradle/gradle.properties

但在

Users/YourName/.gradle/gradle.properties

我试图基于特定于项目的gradle.properties(即在projectDir/android/gradle.properties上(进行构建,但我在上一个项目中配置的全局grade.properties却被使用了。对我来说,修复方法是删除我的全局gradle.properties(即Users/YourName/.gradle/gradle.properties(