【问题标题】:Trying to distribute Xamarin APK from within Visual Studio尝试从 Visual Studio 中分发 Xamarin APK
【发布时间】:2020-11-12 19:38:44
【问题描述】:

我正在尝试使用 VS 中的存档和分发屏幕从 Visual Studio 2019 中分发我的 Xamarine APK。这个过程在我上次尝试时有效,但那是大约一年前。

我可以在模拟器中构建和运行我的应用程序,我也可以存档包。

当我尝试分发 APK 时出现问题。我正在使用即席分发方法。此时我收到错误消息:

    [I:]:                     Converting signing algorithm from  SHA256withRSA
[E:]:                     SignPackageAsync faulted
Xamarin.AndroidTools.AndroidSdkToolException: Missing input APK

   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Xamarin.VisualStudio.Android.Services.Publishing.AndroidToolsPublishService.<SignPackageAsync>d__4.MoveNext() in E:\A\_work\387\s\src\Core\VisualStudio.Android\Services\Publishing\AndroidToolsPublishService.cs:line 41

我认为问题不是证书的密码问题,因为我通过输入错误密码进行了测试,这给了我不同的错误消息。

我还增加了对诊断的日志记录,但日志中没有出现更有用的信息。

关于问题是什么或如何更好地诊断问题的任何建议?

【问题讨论】:

标签: android xamarin xamarin.android apk


【解决方案1】:

结果是密钥库密码存在链接中提到的特殊字符的问题。我不得不使用 Keystore 工具来更改密码:

"%JAVA_HOME%\bin\keytool.exe" -storepasswd -keystore "<FilePath>.keystore" -storepass "<store password>" -new "<new password>"

"%JAVA_HOME%\bin\keytool.exe" -keypasswd -keystore "<FilePath>.keystore" 
-storepass "<new password>" -alias "<alias>" -keypass "<key password>" -new "<new password>"

如果您生成的密钥库是通过 Visual Studio 生成的,则存储密码和密钥密码相同。您还需要确保之后它们是相同的,否则在 VS 中使用 Distribute 将不起作用。

【讨论】:

  • 感谢分享。不要忘记接受答案。
猜你喜欢
  • 2017-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多