签署反应本机应用程序时密钥库格式无效

Sri*_*vas 5 react-native

我开发了一个反应本机应用程序。我正在尝试将其推送到谷歌游戏商店。我遵循 React Native 官方文档https://reactnative.dev/docs/signed-apk-android中提到的相同步骤,并生成了一个名为 file 的 kestorewings-prod.keystore文件。

当我尝试使用我的应用程序签名时,./gradlew signingReport我正在获取Invalid keystore format格式。有人可以帮忙吗?

Error: Failed to read key wings-prod from store "/Users/asrinivasarao/Projects/winggs-app/winggs-customer/winggs/android/app/wings-prod.keystore": Invalid keystore format
Run Code Online (Sandbox Code Playgroud)

top*_*sen 10

我今天在我的 React-Native 应用程序中遇到了同样的问题。解决方案是将我的 JDK 版本从 8 升级到 11。Android Studio > 首选项 > 构建执行部署 > 构建工具 > Gradle。选择(或下载然后选择)Gradle JDK 版本 corretto-11。

为了给予适当的信任,我在这里得到了这个解决方案的提示:/sf/answers/4848956801/


Abh*_*Sah 2

尝试:

生成密钥库文件的命令是(请记住在 android/app 目录中运行此命令,至少如果您使用的是 mac。)

keytool -genkey -v -keystore release.keystore -storepass android -alias androidreleasekey -keypass android -keyalg RSA -keysize 2048 -validity 10000
Run Code Online (Sandbox Code Playgroud)

在 Windows 上: keytool 必须从 C:\Program Files\Java\jdkx.x.x_x\bin 运行

遵循官方指南

另外,请记住,如果您已经将应用程序发布到 Play 商店,则它应该是相同的密钥。

如果以上任一方法不起作用:

  1. 尝试删除 .gradle 文件并运行
./gradlew clean
Run Code Online (Sandbox Code Playgroud)
  1. 检查 Java 版本是否相同
D:\Program Files\Java\
Run Code Online (Sandbox Code Playgroud)

D:\Program Files\Android\Android Studio\jre
Run Code Online (Sandbox Code Playgroud)

如果您使用的是 React Native 0.65 及更高版本,请另外检查您是否在 JDK11 上运行。