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

时间:2016-08-18 23:33:23

标签: javascript react-native

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文档上列出的步骤。

5 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。 在对build.gradle中的设置进行硬编码之后,取而代之的是在gradle.properties中将其设置为正在运行。

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

使用java.lang.System.console(MYAPP_RELEASE_STORE_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
        }
    }
}

答案 1 :(得分:1)

因此,如果您尝试生成签名的APK并使用了无ASCII字母,则可能会收到此错误。

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

  

com.android.ide.common.signing.KeytoolException:无法从商店“ /Users/.../.../.../android/app/my-release-中读取密钥my-key-alias key.keystore”:   密钥库密码不正确

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

使用Android Studio可以解决此问题。

首先,我必须从gradle.properties和build.gradle中删除所有代码, (我必须根据docs.添加。

此解决方案来自此处的评论:Keystore password was incorrect “我也面临着同样的问题。在android studio中使用Build-> Generate Signed APK可以,但是将配置放入build.gradle不会。”

然后使用“ Android Studio中的签名/键盘工具UI”,该文件可在Build-> Generate Signed Bundle / APK ...中找到

您可以在其中创建一个新的密钥存储区密码和一个必须相同的密钥密码!

请注意,完成后,Android Studio将app-release.apk文件保存在android-> app-> release中。

快乐编码:)

答案 2 :(得分:0)

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

Users /您的姓名/.gradle/gradle.properties

但是在

Users /您的姓名/.gradle/gradle.properties

我试图基于特定于项目的gradle.properties(即位于projectDir / android / gradle.properties)进行构建,但改用了我在先前项目中配置的全局gradle.properties。对我来说,解决方法是删除我的全局gradle.properties(即Users / YourName / .gradle / gradle.properties)

答案 3 :(得分:0)

我尝试过:

$ ./gradlew clean
$ ./gradlew bundleRelease

成功了。

答案 4 :(得分:-1)

我从Yoruba的答案中寻求帮助,我正在尝试构建其他开发人员遗留下来的应用程序

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

来构建密钥库文件,然后在命令提示符下要求输入密码,该密码应与build.gradle文件中设置的密码相同。

在我的情况下,build.gradle文件使用密钥而不是密码,因此我在gradle.properties中查找了该密钥的值

相关问题