zoukankan      html  css  js  c++  java
  • 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!

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

  • 相关阅读:
    今天开通我的博客
    在ArcGIS中,利用“行政单元面积权重法”实现人口数据格网化
    ArcGIS 下的水文分析
    常用计数器的verilog实现(binary、gray、onehot、LFSR、环形、扭环形)
    简单组合逻辑电路的verilog实现(包括三态门、38译码器、83优先编码器、8bit奇偶校验器)
    乘法器的verilog实现(并行、移位相加、查找表)
    简单时序逻辑电路的verilog实现,包括D触发器、JK触发器、锁存器、寄存器、
    简单ALU(算术逻辑单元)的verilog实现
    ubuntu下安装virtualbox 错误及解决办法
    C++单例模式对象的控制释放分析
  • 原文地址:https://www.cnblogs.com/zjoch/p/4746045.html
Copyright © 2011-2022 走看看