重建 react-native 后 Google Play Console 签名错误/无效签名

Posted

技术标签:

【中文标题】重建 react-native 后 Google Play Console 签名错误/无效签名【英文标题】:Google Play Console signing error/invalid signature after rebuilding react-native 【发布时间】:2020-04-27 15:10:27 【问题描述】:

我们的团队决定将我们的 react-native 版本从 0.59.x 升级到 0.61.5。我们在升级它时遇到了很多困难,所以我们决定从新的 (npx react-native init appName) 开始一个新的 repo 并复制我们的代码。

在我们确保应用同时在 androidios 模拟器上运行之后。我们使用相同的脚本来构建 .aab 文件并上传到 Google Play Console。但 Google Play 控制台不会让我们这样做。这是显示的错误消息:

上传失败

您上传的 APK 签名无效(详细了解 签字)。来自 apksigner 的错误:

“apksigner:”之后没有其他错误消息,所以我很确定这是与堆栈溢出的其他类似问题不同的问题。

我也确定我们使用的是同一个密钥库文件

以下是我们如何构建 .aab 文件

curl "http://localhost:8081/index.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"
cd $REPO_PATH/android
./gradlew bundleRelease
cd ..

# sign the aab
jarsigner -sigalg SHA1withRSA -digestalg SHA1 -keystore ~/my-release-key.keystore $REPO_PATH/android/app/build/outputs/bundle/release/app.aab traytAndroidKey

# zipalign the aab and output it to another file 
$HOME/Library/Android/sdk/build-tools/28.0.3/zipalign -f -v 4 $REPO_PATH/android/app/build/outputs/bundle/release/app.aab $REPO_PATH/android/app/build/outputs/bundle/release/app-release-signed-aligned-$VERSION_CODE.aab

请帮忙:(

【问题讨论】:

【参考方案1】:

您上传的似乎是 AAB 而不是 APK。 AAB 不需要拉链对齐。 尝试仅使用 jarsigner 签名。

另外,请尝试使用 jarsigner 验证签名。

【讨论】:

谢谢!它解决了我的问题。那么在 react-native 0.60 之后就不再需要 zipalign 了吗?因为即使我使用 .aab 文件,zipalign 在 0.59.x 上也没有造成任何问题。 老实说,我不确定根本原因是什么。只有 APK 需要 zip 对齐,AAB 从来不需要 zip 对齐。

以上是关于重建 react-native 后 Google Play Console 签名错误/无效签名的主要内容,如果未能解决你的问题,请参考以下文章

此商家未启用 Google Pay。 [Android,React-Native]

react-native / expo / expo-google-app-auth vs expo-google-sign-in

将 Google 支付按钮和 Apple 支付按钮集成到 react-native 应用程序中

React-native Google Drive如何获取文件和文件夹列表?

React-native google auth android DEVELOPER_ERROR 代码 10

Expo React-Native Android 版本未更新 Google Play 的版本代码