Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE

1、发生原因

使用Eclipse在魅蓝(Android5.1)(也试过其他5.0以上的机器)上安装,在Console中直接报错

2、解决过程

不想看过程的,可以直接看小结微笑

既然Eclipse直接装不行,想到改用命令adb install安装,结果还是出现同样问题。命令都不行,那就只能看log了,通过分析log发现有如下日志:

02-18 12:43:17.520: D/PackageManager(849): Replace existing pacakge: com.youda.oupai
02-18 12:43:17.520: D/PackageManager(849): Existing package: PackageSetting{2f235f1 com.youda.oupai/10083}
02-18 12:43:17.520: W/PackageManager(849): Package com.youda.oupai signatures do not match the previously installed version; ignoring!
这么看来是签名不对导致的,使用release版apk安装ok了。
这时再测试安装其他签名的apk:
直接通过长按卸载,然后通过Eclipse直接运行安装还是出现同样问题,这时候搜索发现说是有什么多用户的问题,要到设置-》应用程序中卸载才行,那只得重新装上release版本的,在设置中卸载,结果并没有什么用,但发现应用程序-》全部中仍然有此应用,只是显示的是未安装,这时想到的是还有多余的安装包存在导致的,使用清理软件清理后再安装结果还是不行,这时想到的是用命令卸载吧,所以重新安装上release版的,使用adb uninstall卸载,然后通过eclipse直接运行安装成功了。这时在想为什么,经过验证发现通过adb uninstall卸载后,在应用程序-》全部中是不会出现未安装的apk的。 通过查看adb uninstall(
adb uninstall [-k] <package> - remove this app package from the device
                                 ('-k' means keep the data and cache directories )
)的详细解释发现,原来不加-k是会清除数据和缓存的,我想这也就是为什么在设置中即使通过清除数据后卸载也无法重新安装另一签名的apk的原因吧。如果不对,还请指正,谢谢!!!

3、小结

在Android5.0的手机上卸载应用最好通过adb uninstall命令卸载,这样可以确保可以安装其他签名的apk;当然对用户来说没啥必要了,因为他们使用的都是同一签名的apk。
以后安装再出现此问题,可以先到设置-》应用程序-》全部中查看如果仍有此应用程序,但显示的是未安装,则可以直接安装与前一个卸载apk同一签名(当然也要同一包名了)的apk,通过adb uninstall命令卸载,这样就不会影响之后的安装了。

你可能感兴趣的:(apk,android)