我在执行
时收到INSTALL_FAILED_UPDATE_INCOMPATIBLE错误adb install MyPackage.apk
我做了所有其他帖子的建议,即用
卸载软件包adb uninstall com.company.package
(适用于'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权限,如果可能,我希望保持这种方式。
答案 0 :(得分:8)
在我的情况下,即使我卸载了应用程序,它仍然为其他用户安装。转到菜单中的Settings > Apps > "Your App" > Uninstall for all users
。
我的设备是运行API 22(5.1)的Nexus 5
答案 1 :(得分:2)
我认为这是Android 5.0+设备的问题,我有更新5.1.1的nexus 6
我删除了原始应用程序,但仍然有消息:
INSTALL_FAILED_UPDATE_INCOMPATIBLE
解决方案是
转到Settings
> Apps
,您会在应用中找到以下消息:
"未为此用户安装"
,我们必须使用以下选项手动为所有用户卸载:
"为所有用户卸载"
答案 2 :(得分:0)
为什么会这样?
我有同样的错误。
Play控制台使用com.example.come.myapp之类的程序包ID来标识该应用程序,当发送“更新”时,则期望使用相同的程序包ID。但是,如果无法确定它是同一应用程序,但是正在进行更新,则会显示此错误。
如何解决?
我在手机上安装了一个,尝试将其更新到下一个发行版本,但失败。即使在卸载应用程序后,此问题仍然继续。 后来我了解到,由于更改了包ID,因此我在设备上有两个名称相同的应用程序。我先卸载了这两个软件,然后又工作了,我还是在手机上手动卸载了。
如果上述方法无效,请尝试以下方法:
-从手机手动卸载
-尝试转到“设置”>“应用”,看看是否有您的新应用,请取消安装
-尝试返回到以前的设置(例如包ID),看看是否可行
-重新启动手机并检查
-检查您是否更改了键
如何避免出现此问题和其他问题?
如果您的源代码不在源代码控制系统之内,那么很多事情都会出错,因此最好使用私有git(https://github.com/),并在计算机上使用Git GUI工具查看正在进行哪些更改。一旦所有更改都成功完成(上载到游戏机),然后再进行提交更改,否则您将无法快速跟踪发布之间我们更改的许多内容,并且更新失败。
我很难找到确切的问题来解决此问题,希望以上对您有所帮助。