Calvin's Tech Space

          成于堅忍,毀于浮躁

             :: 首頁 :: 聯系 :: 聚合  :: 管理

          晚上在測一個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
          posted on 2010-01-31 19:27 calvin 閱讀(29972) 評論(3)  編輯  收藏 所屬分類: Android

          Feedback

          # re: Android: INSTALL_FAILED_UPDATE_INCOMPATIBLE錯誤解決措施 2015-02-13 10:15 lucythq
          幫我大忙了,終于安裝成功了,謝謝謝謝  回復  更多評論
            

          # re: Android: INSTALL_FAILED_UPDATE_INCOMPATIBLE錯誤解決措施 2016-04-20 11:39 xhz
          感謝樓主
          #adb uninstall com.xxx.xxx
          解決了我的問題  回復  更多評論
            

          # re: Android: INSTALL_FAILED_UPDATE_INCOMPATIBLE錯誤解決措施 2016-04-20 13:42 xhz
          樓主:
          經查詢,adb uninstall + 包名, 才是卸載應用的正確用法(有些博客里講卸載應用的命令都寫錯了),后面跟的參數是應用的包名,而非apk文件名;
          adb install 后跟的才是apk文件名。


          adb install [-l] [-r] <file> - push this package file to the device and install it
          ('-l' means forward-lock the app)
          ('-r' means reinstall the app, keeping its data)
          adb uninstall [-k] <package> - remove this app package from the device
          ('-k' means keep the data and cache directories)

          如:
          adb install d:\hello.apk
          adb unstall com.huawei.hello   回復  更多評論
            

          主站蜘蛛池模板: 阿瓦提县| 苏州市| 洪江市| 五寨县| 兴宁市| 甘肃省| 丹阳市| 石家庄市| 育儿| 贵南县| 湛江市| 镇平县| 大丰市| 荆州市| 霍州市| 化隆| 恩平市| 肇源县| 六盘水市| 本溪市| 师宗县| 岳普湖县| 安阳市| 托克逊县| 云霄县| 开封市| 鲁甸县| 宕昌县| 蒲城县| 襄垣县| 蚌埠市| 南陵县| 沂源县| 安阳县| 平舆县| 双鸭山市| 扎赉特旗| 麻阳| 志丹县| 仁化县| 衡山县|