晚上在测一个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!

转自http://www.eoeandroid.com/viewthread.php?tid=640

最新文章

  1. spring拦截器 实现应用之性能监控
  2. 分析App应用市场, App应用有哪些类型
  3. article和section
  4. PHP 之 this self parent static 对比
  5. [Git]在Windows上安装Git
  6. 为Eclipse添加Java和Android SDK源代码
  7. MVC ajax 上传文件
  8. C#列表顺序替换思想
  9. cocos2d-x之CCMotionStreak类——2013-08-25 16
  10. C# 读取XML文件示例
  11. ORACLE调度之基于事件的调度(二)【weber出品】
  12. SQL点滴16—SQL分页语句总结
  13. 使用SecureCRTP 连接生产环境的web服务器和数据库服务器
  14. Linux kernel的中断子系统之(八):softirq
  15. c#中@标志的作用
  16. git push 时提示用户名或密码相关错误信息
  17. Zara精讲C#.Cache、它和Redis区别是什么???
  18. tyvj/joyoi 1374 火车进出栈问题(水水版)
  19. QT创建TCP Socket通信
  20. Go语言常量

热门文章

  1. Binary Representation
  2. Paint House
  3. 6 个 Linux 运维典型问题,大牛的分析解决思路在这里 【转】
  4. mysql双主+keepalived【转】
  5. java多线程计算和
  6. APMServ5.2.6win10系统Apache、MySQL5.1启动失败解决办法
  7. node+webpack环境搭建 vue.js 2.0 基础学习笔记
  8. nginx开启gzip压缩前端css,js
  9. CSS工具之CSS重置(CSS Reset)
  10. Java第三阶段学习(十二、HttpServletRequest与HttpServletResponse)