android - 如何在 Visual Studio 2019 中导入 jks 文件作为现有 keystore

标签 android visual-studio xamarin xamarin.android keystore

我想更新 Google Play 上的应用。我丢失了 keystore 密码,在联系谷歌支持后,我按照下面给出的命令操作,他们为我重置了上传 key 。

 1. keytool -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore keystore.jks                 

 2. keytool -export -rfc -alias upload -file upload_certificate.pem -keystore keystore.jks

现在我有了 keystore.jks 文件。现在问题来了。

我正在 Visual Studio 2019 中执行这些步骤。

右键单击Myproject.Android > Archive然后获取apk文件Bundle Format: apk

点击分发 > Google Play > 导入

然后Import an Existing Keystore dialog box它期望导入 .keystore 文件的扩展名,但我也 .jks 尝试将其转换为 .keystore 但没有成功.

这是我收到的错误

   at Xamarin.AndroidTools.PublicationUtilities.KeyManagement.<>c__DisplayClass13_0.<ImportKeyAsync>b__0(Task`1 t) in C:\A\1\34\s\External\androidtools\Xamarin.AndroidTools\PublicationUtilities\KeyManagement.cs:line 313
   at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Xamarin.VisualStudio.Publishing.Presentation.ViewModels.AndroidImportKeyViewModel.<Import>d__48.MoveNext() in C:\A\1\34\s\src\Core\VisualStudio.Publishing\Presentation\ViewModels\AndroidImportKeyViewModel.cs:line 133

我有什么遗漏的吗?

如何使用 keystore.jks 更新我的应用程序?

最佳答案

我想我应该发布我如何解决这个问题,如果其他人也遇到这个问题,他可以通过以下步骤解决它。

获取 keystore.jks 文件后,将 project.Android.apkkeystore.jks 文件复制到 C:\Program文件 (x86)\Android\android-sdk\build-tools\30.0.2 位置。

在给定位置以管理员身份运行命令提示符C:\Program Files (x86)\Android\android-sdk\build-tools\30.0.2

现在您需要手动zipalign apk 文件,运行以下命令。

run zipalign -v -p 4 com.project.Android.apk com.projectAligned.Android.apk

然后你必须签署apk。

apksigner sign --ks keystore.jks --out com.projectRelease.Android.apk com.projectAligned.Android.apk

关于android - 如何在 Visual Studio 2019 中导入 jks 文件作为现有 keystore ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69725803/

相关文章:

visual-studio - 我可以使用 GhostDoc 将文档添加到整个类或代码文件吗?

xamarin - 使用 Xamarin 读取 android 文件

java - 使用 http 请求 GET android 发送阿拉伯语单词

android - 两列布局,第一列 wrap_content,第二列 fill_parent

android - 相机记录有时倒置

visual-studio - 取消更新后无法修复 Visual Studio

java - 带有 Android 和自签名服务器证书的 HTTPS GET (SSL)

visual-studio - 如何在 MSTest 中的测试之间保留变量?

ios - 为什么 LambdaExpression.Compile() 在 iOS (Xamarin) 上工作?

c# - 无法从 UWP 项目中访问代码共享项目中定义的接口(interface)