我正在使用Android 2.2开发一个Android应用程序,我的应用程序APK大小是22.5 MB,我想为三星平板电脑创建一个新的构建。我得到了以下错误:
INSTALL_FAILED_DEXOPT
如何解决这种错误?
我正在使用Android 2.2开发一个Android应用程序,我的应用程序APK大小是22.5 MB,我想为三星平板电脑创建一个新的构建。我得到了以下错误:
INSTALL_FAILED_DEXOPT
如何解决这种错误?
当前回答
因为这似乎是我自己遇到过多次的问题,这次没有一个分享的解决方案对我有帮助,我仍然会发布一些对我个人有帮助的东西,以及我认为将来可能会帮助其他人的东西:
进入项目目录,找到build/intermediates/dex-cache/cache文件。删除它——顾名思义,这是一个缓存的dex文件,如果你改变了项目的依赖关系,构建工具版本等,它可能已经过时了。
其他回答
在我的案例中,问题发生在一些运行API 21和22的设备上。在应用程序标签下的manifest中设置android:vmSafeMode="true"解决了这个问题。但是,不建议发布版本使用它,所以我在values文件夹中创建了两个xml文件。旧API的默认值:
<resources>
<bool name="vm_safe_mode">true</bool>
</resources>
API的>= 23值为假,也是如此。在这种情况下,操作系统更新的设备不会受到影响,旧的设备至少可以工作。
我今天在新的虚拟设备上使用Android Studio时也遇到了同样的问题。似乎我已经下载了x86_64映像,用等效的x86映像重新创建了VD。
在这种情况下,我期望得到一个INSTALL_FAILED_NO_MATCHING_ABIS,但不知何故,我被INSTALL_FAILED_DEXOPT卡住了
如果你使用Android Studio,尝试清理你的项目:
建立>清洁项目
从Android SDK和AVD管理器重新启动模拟器,并选择选项擦除用户数据已经为我解决了这个问题。
你可以在下图中找到高亮显示的选项:
我有这个问题时,有一些Unicode字符在我的方法名称(由于,所有的事情,复制/粘贴从powerpoint文件),Dalvik不喜欢。在尝试安装APK时,您可以通过查看Logcat输出来了解这一点。
这是在一个真实的设备上。