Android安装APK报错:Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE解决方法


           今天调试一个android应用的时候,安装报了Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE错误,代码如下:

[2015-12-28 15:54:31 - MainActivity] ------------------------------
[2015-12-28 15:54:31 - MainActivity] Android Launch!
[2015-12-28 15:54:31 - MainActivity] adb is running normally.
[2015-12-28 15:54:31 - MainActivity] Performing com.runbo.outdoormeter.MainActivity activity launch
[2015-12-28 15:54:31 - MainActivity] Automatic Target Mode: using device 'QCS4BU6HY9C68LY5'
[2015-12-28 15:54:31 - MainActivity] Uploading MainActivity.apk onto device 'QCS4BU6HY9C68LY5'
[2015-12-28 15:54:35 - MainActivity] Installing MainActivity.apk...
[2015-12-28 15:54:36 - MainActivity] Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE
[2015-12-28 15:54:36 - MainActivity] Please check logcat output for more details.
[2015-12-28 15:54:36 - MainActivity] Launch canceled!


         好吧,安装不了。因为这个APP是通过系统内置的APP,之前都是直接在linux环境下直接编译该apk再重新push进手机即可,今天我不想这么麻烦,直接在Eclipse下编译再安装该APK就报了这个错误。

        使用 adb shell rm system/app/OutdoorMeter/OutdoorMeter.apk 命令将该APK文件删除后,再进行安装还是报相同的错误:Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE

 adb shell rm system/app/OutdoorMeter/OutdoorMeter.apk 

       使用adb uninstall com.runbo.outdoormeter 命令删除该APK文件也删除失败

C:\Documents and Settings\Administrator>adb uninstall com.runbo.outdoormeter
Failure [DELETE_FAILED_INTERNAL_ERROR]
        再使用adb shell rm -rf data/data/com.runbo.outdoormeter/ 命令删除data/data/命令下该应用的相关文件

C:\Documents and Settings\Administrator>adb shell rm -rf data/data/com.runbo.outdoormeter/

    删除后,再进行安装还是报相同的错误:Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE,安装失败。

    使用adb reboot 命令重启后,再安装该APK,安装成功,如下所示:

[2015-12-28 16:12:41 - MainActivity] ------------------------------
[2015-12-28 16:12:41 - MainActivity] Android Launch!
[2015-12-28 16:12:41 - MainActivity] adb is running normally.
[2015-12-28 16:12:41 - MainActivity] Performing com.runbo.outdoormeter.MainActivity activity launch
[2015-12-28 16:12:42 - MainActivity] Automatic Target Mode: using device 'QCS4BU6HY9C68LY5'
[2015-12-28 16:12:42 - MainActivity] Uploading MainActivity.apk onto device 'QCS4BU6HY9C68LY5'
[2015-12-28 16:12:46 - MainActivity] Installing MainActivity.apk...
[2015-12-28 16:12:49 - MainActivity] Success!
[2015-12-28 16:12:49 - MainActivity] Starting activity com.runbo.outdoormeter.MainActivity on device QCS4BU6HY9C68LY5
[2015-12-28 16:12:50 - MainActivity] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.runbo.outdoormeter/.MainActivity }

      好吧,总结一下:

第一步:先把原来已经存在的相同包名的APK删除,如:adb shell rm system/app/OutdoorMeter/OutdoorMeter.apk

第二步:将data/data/目录下该应用的包名的目录删除掉,如:adb shell rm -rf data/data/com.runbo.outdoormeter/

第三步:重启Android手机  adb reboot

第四步:再重新安装该APK


         ====================================================================================

  作者:欧阳鹏  欢迎转载,与人分享是进步的源泉!

  转载请保留原文地址http://blog.csdn.net/ouyang_peng

====================================================================================



本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。

猫猫学iOS之UITextField全解 - 2015-12-29 14:12:42

猫猫分享,必须精品 原创文章,欢迎转载。转载请注明:翟乃玉的博客 地址: http://blog.csdn.net/u013357243 这里以代码形式共享给大家,参考 IOS-TextField知多少的博客,这里猫猫主要用markdown对目录结构进行优化,方便阅读 初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; 设置边框样式,只有设置了才会显
背景 产生65535问题的原因 LinearAlloc问题的原因 Google提出的MultiDex方案 MultiDex实现原理 缺点 美团的多Dex分包动态异步加载方案 多Dex分包 异步加载方案 参考资料 关于我 背景 目前来说,对于使用Android Studio的朋友来说,MultiDex应该不陌生,就是Google为了解决『65535天花板』问题而给出的官方解决方案,但是这个方案并不完美,所以美团又给出了异步加载Dex文件的方案。今天这篇文章是我最近研究MultiDex方案的一点收获,最后还留

unix关于打包命令zip的使用 - 2015-12-29 14:12:20

unix zip命令的基本用法是: zip [参数] [打包后的文件名] [打包的目录路径] linux zip命令参数列表: -a 将文件转成ASCII模式 -F 尝试修复损坏的压缩文件 -h 显示帮助界面 -m 将文件压缩之后,删除源文件 -n 特定字符串 不压缩具有特定字尾字符串的文件 -o 将压缩文件内的所有文件的最新变动时间设为压缩时候的时间 -q 安静模式,在压缩的时候不显示指令的执行过程 -r 将指定的目录下的所有子目录以及文件一起处理 -S 包含系统文件和隐含文件(S是大写) -t 日期
第十二章、观察者模式 观察者模式是一个使用率非常高的模式,它最常用在GUI系统、订阅–发布系统。因为这个模式的一个重要作用就是解耦,将被观察者和观察者解耦,使得它们之间的依赖性更小,甚至做到毫无依赖。比如安卓的开源项目EventBus、Otto、AndroidEventBus等事件总线类的和RxJava响应式编程其核心都是使用观察者模式。 1.定义 观察者模式是一种行为类模式,它定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。 2.使用场景 (1)关
孙广东  2015.12.23 JSON 序列化功能和从 JSON 格式 转换到 对象。与 web 服务交互,或只是为了打包和拆包数据 到一个基于文本的格式很容易,这可以非常有用。 使用简单       JSON 序列化功能是围绕一个‘structured’的 JSON,意味着你描述变量将要存储在您的 JSON 数据中通过创建一个类或结构的概念。例如: [Serializable]public class MyClass{ public int level; public float timeElapse
每日更新关注 : http://weibo.com/hanjunqiang   新浪微博 简单介绍: // OSI(开放式系统互联), 由ISO(国际化标准组织)制定 // 1. 应用层 // 2. 表示层 // 3. 会话层 // 4. 传输层 // 5. 网络层 // 6. 数据链接层 // 7. 物理层 // TCP/IP, 由美国国防部制定 // 1. 应用层, HTTP, FTP, SMTP, DNS // 2. 传输层, TCP, UDP // 3. 网络层, IP // 4. 链路层, AR
Android插件化(二):使用DexClassLoader动态加载assets中的apk 简介 上一篇博客讲到,我们可以使用MultiDex.java加载离线的apk文件。需要注意的是,apk中的类是加载到当前的PathClassLoader当中的,如果apk文件过多,可能会出现ANR的情况。那么,我们能不能使用DexClassLoader加载apk呢?当然是可以的!首先看一下 Doc文档 . A class loader that loads classes from .jar and .apk fi
说实话,对于xUtils,是我最近才用到的开发框架(也是刚接触),对于其功能不得不说,简化了很多的开发步骤,可以说是非常好的开发工具,但是其最近更新到3.0也没有解决加载自定义ImageView报错的问题。 我总是喜欢用一些最新的东西,xUtils 3.0才刚更新,是一次比较大的重构,对于百度到的使用规则,基本都是3.0以前的,使得用3.0的开发者需要求解用法的时候,遇到许多阻碍,故此在这里简单介绍xUtils 3.0的使用规则。关于怎么导入功能,其实并不是本文的内容,不过在此文最后一节简单讲解了一下导入
Mac上安装genymotion后,运行该程序弹出该错误: 原因是我的Mac上没有安装VirtualBox,通过以下链接下载安装VirtualBox后即可正常运行该软件。 VirtualBox for Mac最新版下载地址 注意:VirtualBox版本过旧也有可能报错。 下面Genymotion模拟器可以正常运行了,enjoy it.
去公司实习了,没多少时间更博客了,距离上一篇博客也有一个来月了。看标题,应该可以看出,这篇文章是讲一个坑,以及如何填坑。 坑是什么?有两个坑,其一是fastjson的bug,其二是不规范的json字符串。如何填坑,不要着急,后文详细说明。 首先,我们看一个json字符串 { " doubleParam ": 4.875 , " floatParam ": 2.76 , " extra ": { " doubleParam ": 12.23 , " floatParam ": 12.54 } , } 这是一