`

Android:INSTALL_FAILED_UPDATE_INCOMPATIBLE 错误解决方法

阅读更多

晚上在测一个widget,前面测的好好的,后面再安装的时候发现如下错误:
[2009-06-07 02:39:35 - battery] Performing sync
[2009-06-07 02:39:35 - battery] Automatic Target Mode: using device 'HT843GZ03305'
[2009-06-07 02:39:35 - battery] Uploading battery.apk onto device 'HT843GZ03305'
[2009-06-07 02:39:35 - battery] Installing battery.apk...
[2009-06-07 02:39:40 - battery] Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE
[2009-06-07 02:39:40 - battery] Please check logcat output for more details.
[2009-06-07 02:39:40 - battery] Launch canceled!
[2009-06-07 02:46:00 - battery] ------------------------------
[2009-06-07 02:46:00 - battery] Android Launch!
[2009-06-07 02:46:00 - battery] adb is running normally.
[2009-06-07 02:46:00 - battery] No Launcher activity found!
[2009-06-07 02:46:00 - battery] The launch will only sync the application package on the device!

很显然,发生一个错误:INSTALL_FAILED_UPDATE_INCOMPATIBLE

google...

找到原因:
http://xusaomaiss.javaeye.com/blog/393296
在反复安装android apk的时候,有的时候可能会遇到adb install错误,内容是:Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]
这很可能是因为你在以前uninstall应用的时候,没有做彻底,只是简单的rm /data/app/下面的apk文件了,一个补救的办法如下:
启动模拟器,然后进入菜单
settings->applications->mange
applications-> select the application->select "unistall".
这样就能彻底删除了,然后再重新安装这个apk就没问题了
另外一个办法就是将/data/system/packages.xml中该应用相应的信息删掉,重启模拟器再安装即可,因为adb install后,会在packages.xml中添加相应的程序信息。

然而,在这里都不可以使用:
1、widget不在mange applications列表中;
2、/data/system/packages.xml中无这个app信息,且修改麻烦

再找...
http://iame.javaeye.com/blog/391455
制作好apk后(必须签名),通过adb install xx.apk后,
1)apk文件放在了/data/app/目录下
2)/data/system/packages.xml中增加了条记录
3)如果使用到了数据库,首次运行后/data/data下增加了个apk使用到的数据目录


卸载方式有如下几种:
1)优雅式:通过界面 settings-->applications-->manage applications-->找到应用-->application Info-->uninstall 就可以正常卸载应用了。
2)粗暴式 直接到/data/app目录下删除apk
adb shell
cd /data/app
rm xxx.apk

不推荐这种方式,只删除了apk,如果应用还有其他的目录,如数据库目录/data/data/xxx/databases/并没有清理干净,留有隐患。
3)隐藏式:
adb uninstall package-name (这个在adb的帮助文档中没有说明,但可以用)
什么,不知道package-name?看看你的AndroidManifest.xml中有个必须的属性就是package,它所指定的就是package-name。

PS. android中package和application不是一个东西,但也没有看到清楚的解释。能否这样理解:
package是物理概念,application是运行期的逻辑概念?

OK,试试:
F:\publish>adb  uninstall com.anrdroid.test
Success

成功删除,再装:
[2009-06-07 02:48:45 - battery] Performing sync
[2009-06-07 02:48:45 - battery] Automatic Target Mode: using device 'HT843GZ03305'
[2009-06-07 02:48:45 - battery] Uploading battery.apk onto device 'HT843GZ03305'
[2009-06-07 02:48:45 - battery] Installing battery.apk...
[2009-06-07 02:48:49 - battery] Success!
[2009-06-07 02:48:49 - battery] \battery\bin\battery.apk installed on device
[2009-06-07 02:48:49 - battery] Done!

分享到:
评论

相关推荐

    INSTALL_FAILED_SHARED_USER_INCOMPATIBLE

    问题:INSTALL_FAILED_SHARED_USER_INCOMPATIBLE 解决:android:sharedUserId="android.uid.system" <uses-permission android:name="android.permission.FORCE_STOP_PACKAGES"/>

    android 添加系统权限 INSTALL_FAILED_SHARED_USER_INCOMPATIBLE

    eclipse编译出来的apk,安装时报出INSTALL_FAILED_SHARED_USER_INCOMPATIBLE的错误。 原因:apk的AndroidManifest.xml中声明了android:sharedUserId="android.uid.system",但没有相应的签名 解决方案: 1. 找到编译...

    Failure [INSTALL_FAILED_CPU_ABI_INCOMPATIBLE]异常处理

    Failure [INSTALL_FAILED_CPU_ABI_INCOMPATIBLE]异常处理

    解决tomcat配置ssl错误的解决办法

    解决tomcat配置ssl错误的解决办法,不一定有用,只是一个备份。不需要分就是因为不一定能帮到谁。

    Genymotion-ARM-Translation

    Genymotion是目前我所用过的android模拟器中,相当好用的一款模拟机,好用归好用,但偶尔还是会会遇到各种各样的...例如:INSTALL_FAILED_CPU_ABI_INCOMPATIBLE这我在使用webView引入qq X5内核时,调试页面出的问题,

    Android APK签名异常无法安装-INSTALL-FAILED-SHARED-USER-INCOMPATIBLE 解决

    Android APK签名异常无法安装-INSTALL-FAILED-SHARED-USER-INCOMPATIBLE 解决

    Android系统签名文件生成工具

    app获取系统级权限有两种方法,一个是root,另一个是在AndroidManifest中添加android:sharedUserId="android.uid.system",但是Manifest文件中加入sharedUserId后,我们会发现一个问题,就是INSTALL_FAILED_SHARED_...

    TypeError: _queue_reduction(): incompatible function arguments.

    使用pytorch的DDP分布式训练的时候遇到错误: TypeError: _queue_reduction(): incompatible function arguments. The following argument types are supported: 1. (process_group: torch.distributed....

    open3D与D435运用python代码及实例ply数据

    open3D与D435运用python代码及实例ply数据 数据及部分代码参考github开源项目

    MySQL5.7中的sql_mode默认值带来的坑及解决方法

    本文主要内容是MySQL升级到5.7版本之后,由于默认的 sql_mode 值带来的坑以及对应的解决方案。 案例一:ONLY_FULL_GROUP_BY 问题描述 MySQL版本从5.6升级至5.7之后,部分SQL执行报错,报错信息如下: ERROR 1055 ...

    adb1.0.26包含fastboot.exe

    INSTALL_FAILED_UPDATE_INCOMPATIBLE 以前安装过同名应用,但卸载时数据没有移除 先 adb uninstall <packagename> 再安装 INSTALL_FAILED_SHARED_USER_INCOMPATIBLE 请求的共享用户存在但签名不一致 INSTALL_FAILED...

    Pytorch报错记录

    一、TypeError: _resolve_type_from_object(): incompatible function arguments. The following argument types are supported: 1. (arg0: object, arg1: torch._C._jit_tree_views.SourceRange, arg2: Callable[...

    genymotion-arm-cpu

    解决Genymotion调试出现错误INSTALL_FAILED_CPU_ABI_INCOMPATIBLE Genymotion-ARM-Translation模拟器补丁

    Genymotion也能使用ARM安卓程序

    解决INSTALL_FAILED_CPU_ABI_INCOMPATIBLE问题 Genymotion也能使用ARM安卓程序 开启Genymotion模拟器后直接拖入,一直点确认安装

    Genymotion-ARM1-Translation好用

    解决Genymotion安装apk过程中出现INSTALL_FAILED_CPU_ABI_INCOMPATIBLE问题;把该文件拖到模拟器中安装,安装成功后重启模拟器就OK啦

    Genymotion-ARM-Translation(兼容包)_genymotion-arm-translation_for_1

    1. 使用Genymotion调试出现错误INSTALL_FAILED_CPU_ABI_INCOMPATIBLE 2. System.LoadLibrary加载NDK编译的armeabi动态库时抛出UnsatisfiedLinkError异常 解决办法: 将你的虚拟器运行起来,将下载好的zip包用鼠标拖...

    Genymotion-ARM-Translation(兼容包)

    1. 使用Genymotion调试出现错误INSTALL_FAILED_CPU_ABI_INCOMPATIBLE 2. System.LoadLibrary加载NDK编译的armeabi动态库时抛出UnsatisfiedLinkError异常 解决办法: 将你的虚拟器运行起来,将下载好的zip包用鼠标拖...

    rules_kotlin:Kotlin的Bazel规则

    Bazel Kotlin规则 当前版本: legacy-1.3.0 候选版本: ... 解决方法:添加tags=['kt_abi_plugin_incompatible'] 2020年12月3日。发布了版本。 包括: Kotlin 1.4支持 许多不同的修复程序,尤其是对kotlinc插件, exp

Global site tag (gtag.js) - Google Analytics