【问题标题】:Cant Deploy To Real Android Device Xamarin无法部署到真正的 Android 设备 Xamarin
【发布时间】:2017-06-24 10:43:32
【问题描述】:

我的问题与这篇文章有关 Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE] even if app appears to not be installed

我无法在真实设备上部署我的应用程序,它在模拟器上正常运行,我收到部署错误,但错误选项卡中没有任何内容。

这是来自构建输出

2>构建成功。

2>发生错误。有关详细信息,请参阅日志上的完整异常。

2>安装的包不兼容。请手动卸载并 再试一次。

2>

========== 构建:1 个成功,0 个失败,1 个最新,0 个跳过 ========== ========== 部署:0 成功,1 失败,0 跳过 ==========

即使在卸载应用程序后,我也无法在我的真实设备上部署我的应用程序,其他应用程序安装得很好,彻底 VS。

【问题讨论】:

  • 如果您使用 debug|release 构建的 apk 通过adb (adb install xxxxx.apk) 执行手动安装,那么完整的逻辑错误是什么?
  • 删除您可以在手机上找到的所有 xamarin 共享库
  • @SushiHangover 我不确定您要说什么,如果我使用调试/发布方法进行安装,这就是我在输出中得到的,有一个对话框说部署错误继续吗? ,我收到一个错误提示“找不到引用的组件 System.objectmodel,但我认为这不是问题,因为它在模拟器上正常工作。
  • @hugo 怎么做,从我的手机中删除?
  • @Zany 使用adb手动将apk安装到设备中,看看logcat中的失败信息是什么

标签: android xamarin


【解决方案1】:

没有针对此问题的特定解决方案,我认为原因是您的手机操作系统没有完全卸载您的应用程序,应用程序签名仍然存在(发生在高度定制的 android,在我的情况下是 MIUI 8)。 我发现使用 logcat - 签名与以前安装的版本不匹配

潜在解决方案 1: 卸载应用后,使用 Titanium Backup(需要 Root)彻底删除应用文件夹。

潜在解决方案 2: 转到设置并从那里删除应用程序,确保对所有用户使用卸载选项(在 MIUI 8 中这不可用)

潜在解决方案 3: 使用 adb 卸载您的应用程序与卸载所有用户完全一样。

adb uninstall yourpackagename

如果您不知道它会检查您的 android 解决方案的属性。

另一种查找方式 how to delete an app from adb without knowing it's package name

adb 根

然后进入adb shell

adb 外壳

找出您的应用程序包名称:

pm 列出软件包 | grep "您的应用名称/与您的应用相关的内容 名字”

然后使用:

adb 卸载

pm 卸载

潜在解决方案 4:(不是真正的解决方案) 更改应用程序包名称 - 不会与您已安装的应用程序包冲突

注意:对设备进行硬重置应该可以明显解决问题。

在我的情况下,第 4 个选项有效,如果有人知道如何从 android 中删除以前安装的应用程序签名,请告诉我我会相应地更新答案(可能需要深入了解文件系统)。

【讨论】:

  • A 5 解决方案对我有用。在分发版本中重新安装 apk,然后将其从 android 菜单中删除。然后我就可以部署调试版本了。
  • @GustavoRossiMuller 太好了,这么简单的方法对您有用,我确实尝试过,但没有成功。我想即使在设备内存上安装了 apk,我也无法安装它。我继续为我的开发人员储备 Android,不希望这些类型的问题破坏我的工作效率。
  • 解决方案 3 对我有用:启动 ADB 命令提示符并执行“adb uninstall yourpackagename”,谢谢@Zany!
  • 解决方案 3! ??
【解决方案2】:

有一个简单的技巧

  1. 如果是全新的应用程序 - 只需更改 Android 包名称并从 VS 部署
  2. 如果已经 Play 商店发布一个 - 然后通过 Play 商店安装应用程序并卸载。然后从 VS 部署

这对我有用

【讨论】:

    【解决方案3】:

    一个快速的解决方案是通过更改 android manifest 中的包名称。

    【讨论】:

    • 但是为了避免以后出现问题,我建议你按照 Zany 的回答。
    【解决方案4】:

    进入真机设置->应用->所有应用,现在卸载所有的xamarin和mono包,如果有调试应用也卸载它并再次运行,这解决了我同样的问题。

    【讨论】:

      【解决方案5】:

      我知道这是一个老问题,但这可能是由于您的构建配置。 ReleaseDebug 配置可以而且应该是不同的 w/r/t 清单条目等。如果我尝试这样做,我会收到 ADB0030 错误部署我的调试配置。仅供参考。

      【讨论】:

        【解决方案6】:

        我尝试卸载应用程序,但它已从 Finder 中消失。但是我收到了这个错误。然后我使用了一个实用程序(即服务禁用程序)并且该实用程序列出了该应用程序,然后我使用实用程序的卸载菜单进行了卸载。都过去了。

        【讨论】:

          【解决方案7】:

          如果您有这个问题,那很简单,如果您的应用程序有较旧的 .apk,请安装此 .apk,并在您卸载后。 这是简单的解决方案。

          【讨论】:

            【解决方案8】:

            我遇到了同样的问题,我通过在 Windows 10 中禁用勒索软件保护解决了这个问题

            【讨论】:

              【解决方案9】:

              我从 Play 商店安装了该应用,然后从那里卸载。这似乎已将其从设备中正确删除。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2018-08-30
                • 2017-04-25
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2014-03-22
                • 2017-05-19
                相关资源
                最近更新 更多