博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE
阅读量:6938 次
发布时间:2019-06-27

本文共 2572 字,大约阅读时间需要 8 分钟。

Installation error: 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...
找到原因:
在反复安装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信息,且修改麻烦
再找...
制作好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!

转载地址:http://soljl.baihongyu.com/

你可能感兴趣的文章
兔子生兔子问题
查看>>
CSS 公共样式分享
查看>>
生成带内嵌图片的二维码
查看>>
多维数组排序
查看>>
JS 数组
查看>>
Angular2.0学习
查看>>
你懂不懂我不知道,反正我是晕了
查看>>
C标准库-数值字符串转换与内存分配函数
查看>>
ABAP中Conversion Routine示例
查看>>
Git基本操作
查看>>
《失业的程序员》语录(一)
查看>>
[BZOJ 3143][Hnoi2013]游走(高斯消元+期望)
查看>>
03-高级选择器
查看>>
06-jQuery的文档操作***
查看>>
red5 与tomcat集成配置 简单入门实例
查看>>
Vmware虚拟硬盘合并多个分割文件
查看>>
LeetCode-448. Find All Numbers Disappeared in an Array C#
查看>>
HDU 2364 (记忆化BFS搜索)
查看>>
紫书 例题 10-24 UVa 1641(面积计算)
查看>>
紫书 习题 10-21 UVa 1649 (组合数)
查看>>