安装失败,错误消息为“INSTALL_FAILED_UPDATE_INCOMPATIBLE”,但应用程序未安装。

4

我在进行安装时遇到了“INSTALL_FAILED_UPDATE_INCOMPATIBLE”错误。

adb install MyPackage.apk

我按照其他帖子建议的做法进行操作,即使用卸载包的方法:

adb uninstall com.company.package

(使用适当的替换“公司”和“程序包”的方法)此报告显示“成功”,但是安装错误仍然出现...

在adb logcat输出中,我得到以下信息:

No content provider found for permission revoke: 
   file:///data/local/tmp/MyPackage.apk
Package com.company.package codePath changed from 
   /data/app/com.company.package-1.apk to 
   /data/app/com.company.package-2.apk; Retaining data and using new
Package couldn't be installed in /data/app/com.company.package-2.apk

这说明还有先前安装的痕迹,但我无法弄清如何去除这些痕迹。

有什么想法吗?设备尚未取得Root权限,如果可能,我希望保持这种状态。


你确定你卸载的是这个应用程序(而不是其他的)?如果应用程序已被卸载,则应允许安装。 - Yaroslav Mytkalyk
是的,我非常确定我卸载了这个应用程序,而不是其他的。 - Kasper Peeters
3个回答

8

在我的情况下,即使我卸载了该应用程序,它仍然安装在其他用户的设备上。请进入菜单 设置 > 应用程序 > "你的应用程序" > 卸载所有用户

我的设备是运行API 22(5.1)的Nexus 5。


2

我认为这是Android 5.0+设备的问题,我有一个更新到5.1.1的Nexus 6。

我已经移除了原始应用程序,但仍然收到此消息:

INSTALL_FAILED_UPDATE_INCOMPATIBLE 

解决方案是前往设置 > 应用,您会发现您的应用程序并显示以下消息:

"此用户未安装"

因此,我们需要选择以下选项手动为所有用户卸载:

"卸载所有用户"


我正在使用一台Android 5.1设备,Nexus 5,我也收到了同样的消息。我的解决方案是通过按住应用程序并将其拖动到系统UI的“卸载”部分手动删除/卸载应用程序,然后再尝试使用“adb install <app_name.apk>”命令安装。那应该就可以了。 - warfreak92

0

为什么会出现这种情况?

我也遇到了同样的错误。

Play控制台使用包ID(例如com.example.come.myapp)来识别应用程序,当发送“更新”时,期望相同的包ID。但是,当它无法确定它是相同的应用程序,但正在进行更新时,就会显示此错误。

如何解决?

我在手机上安装了一个应用程序,尝试将其更新到下一个版本,但失败了。即使卸载了应用程序,这个问题仍然存在。 后来我发现,由于包ID已更改,我在设备上有两个同名的应用程序。我卸载了两个应用程序,然后它就可以正常工作了,我是在手机上手动卸载的。

如果上述方法不起作用,请尝试以下方法:
- 从手机上手动卸载
- 尝试进入“设置”>“应用程序”,查看是否有您的任何新应用程序,然后卸载它们
- 尝试返回先前的设置,例如包ID,并查看是否有效
- 重新启动手机并检查
- 检查是否更改了密钥

如何避免这种和其他问题?

如果您的源代码不受源代码控制系统的控制,那么很多问题可能会出现,因此最好使用私有Git(https://github.com/)并在您的计算机上使用Git GUI工具查看正在进行的更改。一旦所有更改都成功(上传到Play Console),然后再提交更改,否则您将无法跟踪我们在发布之间匆忙更改的许多内容,更新将失败。

我花了很长时间才找到确切的问题来解决这个问题,希望以上内容能够帮助到您。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接