删除系统应用导致INSTALL_FAILED_UPDATE_INCOMPATIBLE的安装错误

升级完海尔电视rom之后,打算卸载系统自带的优酷应用,装一个新版本。由于是系统应用,所以无法在电视上通过应用管理程序卸载的。

果断连接上adb ,使用adb shell进行卸载。

1.寻找系统应用

进入/data/system/app 下,找到优酷的apk

2.切换用户

输入【su】,切换到root账户

授予/data/system 文件夹读写权限(注意:有的盒子可能不支持该命令)

mount -o remount rw /system

3.删除系统应用

使用【rm】删除应用后,再次安装之后,发现logcat报INSTALL_FAILED_UPDATE_INCOMPATIBLE 错误,应该是删除文件之后,再次安装的应用与系统记录的版本不一致造成的。

解决办法:

系统安装的应用信息,记录在一个文件中,类似于windows的注册表。该文件叫packages.xml ,一般放置 /data/system/app下(不同厂商放置的位置不同,有的在system下)

按Ctrl+C退出adb shell ,利用adb pull /data/system/app/packages.xml命令将packages.xml放到你PC机本地,然后找到你需要的包名,删除<package>到</package>的一段数据。例如:

<package name="com.youku.tv" codePath="/data/app/com.youku.tv-1.apk" flags="0" ts="1382501265000" version="1801000" userId="10036">
<sigs count="1">
<cert index="3" />
</sigs>
<perms>
<item name="com.android.launcher.permission.INSTALL_SHORTCUT" />
<item name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
<item name="android.permission.GET_TASKS" />
<item name="android.permission.WRITE_EXTERNAL_STORAGE" />
<item name="android.permission.READ_LOGS" />
<item name="android.permission.ACCESS_WIFI_STATE" />
<item name="android.permission.ACCESS_COARSE_LOCATION" />
<item name="android.permission.DISABLE_KEYGUARD" />
<item name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<item name="android.permission.READ_PHONE_STATE" />
<item name="android.permission.RECEIVE_BOOT_COMPLETED" />
<item name="android.permission.SYSTEM_ALERT_WINDOW" />
<item name="android.permission.CAMERA" />
<item name="android.permission.WRITE_SETTINGS" />
<item name="android.permission.INTERNET" />
<item name="android.permission.ACCESS_FINE_LOCATION" />
<item name="android.permission.VIBRATE" />
<item name="com.android.launcher.permission.READ_SETTINGS" />
<item name="android.permission.WAKE_LOCK" />
<item name="android.permission.ACCESS_NETWORK_STATE" />
<item name="com.android.launcher.permission.WRITE_SETTINGS" />
</perms>
</package>

保存packages.xml,然后adb push packages.xml /data/system将packages.xml文件送回设备中。

然后再次adb install安装你的apk文件,看看是否success。

如果还不能成功,还有一种可能性,就是你的安装包与之前设备上的安装包签名不一致,或者你的安装包根本就没有签名。这时候采用adb uninstall 包名卸载之前的安装包,再次adb install 安装你的apk文件。

如果还不行,查看logcat日志,进一步分析具体原因。


原文链接:http://www.67tgb.com/?p=634

转载注明:望月听涛

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值