我想更新 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.apk
和 keystore.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/