我以某种方式设法为我使用 Xamarin 开发并已发布的 Android 应用程序保存了错误的 keystore 。 当我想使用我认为是正确 keystore 的 keystore 将更新上传到 Google Play 商店时, SHA 证书不匹配。
幸运的是,我注册了 Google Play App Signing,因此他们能够为我重置上传 key 。 为了重置上传 key ,我:
1.(不知道我是否必须这样做才能生成新的上传 key )在 Xamarin 中为 Android 项目生成了一个新的存档和新的 keystore ,并将 APK 导出到一个文件夹。在该文件夹中,我在接下来的步骤中运行了命令行:
2.使用命令行生成新的上传 key : keytool -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore keystore.jks
3.将该 key 的证书导出到 *.pem 文件: keytool -export -rfc -alias upload -file upload_certificate.pem -keystore keystore.jks
4.将 *.pem 发送给 Google Play 开发者支持。**
注意:为了能够在 Windows 10 命令提示符下使用 keytool 命令,我搜索并打开了环境变量,在用户变量下找到 PATH,右键单击并编辑,并添加了 keytool.exe 所在位置的新路径位于:C:\Program Files\Java\jre1.8.0_191\bin
既然我有一个 *.pem 文件和一个 *.jks 文件,我该如何为我的 Xamarin Android 项目创建新的 APK 文件,它将作为一个更新,使用 Visual Studio/Xamarin 中的新上传 key 签名?
最佳答案
另一种替代方法是:
1) 使用命令 promt 生成新 key :
keytool -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore keystore.jks
2) 从应用签名中选择导入选项并导入创建的 key 路径。
3) 创建构建并提交到 Play 商店。
关于Xamarin.Android 如何使用 Google App Signing 重置上传 key 并使用它来签署另一个 APK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52958258/