【问题标题】:Xamarin, Update existing app from within the app. Without any services. App not installed error when updating. AndroidXamarin,从应用内更新现有应用。没有任何服务。更新时应用未安装错误。安卓
【发布时间】:2021-08-30 22:31:09
【问题描述】:

我正在尝试从已安装的 Android 应用中更新该应用。

我有我的 .NET 5 Web Api 链接,它开始下载更新的应用程序。下载结束后,我的应用程序运行下载的 APK 实例并打开安装/更新窗口。

然后我点击安装,它显示错误“App not installed.”。

按照我的理解(?),发生错误是因为它看到系统中安装了相同的应用程序。虽然下载的 APK 有不同的 versionCode & versionName(in this case for example, I run versionCode=3 & versionName=3.0 APK, FROM versionCode=2 & versionName=2.0)。 我没有更改任何名称或任何其他数据,除了 versionName 和 versionCode。

那我该怎么办?也许我错过了有关版本控制的重要信息?我已经搜索了整个互联网并停留在最后一步。

【问题讨论】:

  • 检查设备日志以查看确切的错误是什么。 adb logcat 并在安装时观察日志。
  • 另外我建议您使用 PackageInstaller API 而不是使用意图:developer.android.com/reference/android/content/pm/… 它会更快地告诉您问题。很可能签名签名之类的东西与安装的签名或类似的东西不同,但在您实际检查设备日志之前不清楚......
  • @Cheesebaron 感谢您的回复。这是原因吗?:包...签名与以前安装的版本不匹配;忽略!
  • 确实看起来像。因此,您在设备上运行的版本(可能通过调试)使用调试签名密钥进行签名。您需要使用相同的密钥库对您尝试安装的应用程序进行签名。
  • @Cheesebaron 非常感谢你。这就是原因。

标签: xamarin xamarin.forms xamarin.android


【解决方案1】:

原因是因为不匹配密钥库(您在分发应用程序时创建的密钥库),调试会话应用程序没有任何我理解的。基本上我试图从调试会话安装更新。在我通过版本 2 在 Visual Studio 中的存档创建 apk 后,将其安装在模拟器上(事先删除了模拟器上应用程序的所有实例),我的更新安装成功。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多