【发布时间】:2021-02-08 10:59:03
【问题描述】:
我正在使用 Expo 制作一个 Android 应用程序。我从 Google Play Console 下载上传证书。这是一个 .der 文件。我跑:
keytool -importcert -file certificate.der -alias someAlias -keystore some.keystore
这将创建一个具有 3 个证书指纹的 .jks 类型的 .keystore 文件。 Google Play Console 在上传过程中查看的是 SHA1 指纹,它有 19 对值,例如 01:02:A1...
使用expo build:android -t apk -c 或expo build:android -t app-bundle -c 来重置我的密钥并分别构建一个.apk 或.aap,在上传到Google Play 控制台后,我收到一个错误,我没有使用正确的密钥。
我收到以下错误:
.Apk 错误:您上传的 APK 未使用上传证书签名。您必须使用相同的证书。上传证书有指纹:SHA1: 01:02:A1... - 我根据 keytool -list -v -keystore some.keystore新建的.keystore的指纹;错误继续说 - 并且用于签署您上传的 APK 的证书有指纹:
SHA1: 98:97:96:... - 完全不同的指纹。
.Aap 错误:您的 Android App Bundle 使用错误的密钥进行签名。确保您的 App Bundle 使用正确的签名密钥进行签名,然后重试:SHA1: 55:66:77... - 另一个完全不同的值。
我将上传 .der 用于 .apk 版本应用构建,将应用签名 .der 用于 .aap 版本应用构建,两次 Google Play 控制台读取的 SHA1 指纹值都与 Keytool 的值不同读取相同的 .keystore。
切换密钥、重新下载或重建都没有任何影响,keytool -list
始终声称 .keystore 指纹与 Google Play 控制台要求的指纹匹配。
我缺少一些简单的东西吗?任何帮助表示赞赏。
【问题讨论】:
标签: android expo google-play-console keytool