Android Studio开发调试Installation failed since the device possibly has stale dexed jars

一、问题产生环境

    我在修改代码后,运行Android Studio上自带模拟器时,突然弹出让我卸载当前应用,重新进行安装的对话框:


信息如下:

Installation failed since the device possibly has stale dexed jars that don't match the current version (dexopt error).
In order to proceed, you have to uninstall the existing application.

WARNING: Uninstalling will remove the application data!

Do you want to uninstall the existing application?

    点击OK后,我的当前应用被卸载了,又重新启动了一次该应用。然后我又得重新登陆账号进行调试(原来的情况下,修改代码以后应用程序不会清除数据,我登陆的信息仍然存在),所以我就很苦恼,我没有改过配置啊,究竟发生了什么呢!

二、解决办法

     我百度了一下,发现网上有两种方法:

1、AndroidStudio-> Build -> Clean Projects  

然后我尝试了下并没有管用, 再试方法2

2、AndroidStudio-> File -> Setting -> Build, Exception,Deployment -> Instant Run ->不要勾选[]Enable Instant Run to hot swap code/resource changes on deploy (default enabled)

三、最后我的解决办法

    我搜索能力有限,没有在网上找到有效的方法。然后,另启动了一个模拟器,没有出现问题。哇塞,似乎找到了解决方法。开始撸问题。。。

    两个模拟器的参数发现,出问题的模拟器是我经常使用的,分配的内存是2G,VM heap参数值是16M。VM heap翻译过来意思就是虚拟机可用来分配给设备运行应用程序的内存数量。然后对比了一下新模拟器的VM heap值更大,难道是这个值在搞怪。。。然后我改成一样大,并没有什么用,我继续把内存改为4G,也没有什么卵用,这就奇怪了。最后所有参数都改为一样,还是不行。难道真是网上说的是Android Studio的一个bug,我觉得应该不是。因为我发现我出问题的模拟器上提示存储空间不足,难道是装的应用太多了,然后把原来跑过的demo卸载了一个,重新运行当前应用居然恢复正常。

    原因若真是安装应用太多的缘故,新启用的模拟器上只有这一个应用,两个模拟器配置参数相同的情况下,我习惯使用的那个出问题就可以解释通了。哈哈,暂时只能写到这,如果大家遇到同样的问题,可以先启用新的模拟器或者清除旧模拟器上的不重要的应用这样解决,如果您有更好的方法,希望告诉我!

猜你喜欢

转载自blog.csdn.net/Wang_WY/article/details/79220725