我正在使用Android 2.2开发一个Android应用程序,我的应用程序APK大小是22.5 MB,我想为三星平板电脑创建一个新的构建。我得到了以下错误:
INSTALL_FAILED_DEXOPT
如何解决这种错误?
我正在使用Android 2.2开发一个Android应用程序,我的应用程序APK大小是22.5 MB,我想为三星平板电脑创建一个新的构建。我得到了以下错误:
INSTALL_FAILED_DEXOPT
如何解决这种错误?
当前回答
对我来说唯一有效的解决方案是将虚拟机的RAM增加到4GB。
其他回答
我正在使用Android Studio,也出现了同样的错误。
删除主模块的构建文件夹有帮助。删除后一切恢复正常。
重新启动设备。
以我为例,这个应用程序在大多数设备上都能运行,只有一个例外:我的手机太旧了,最近一直在故障,即使没有安装一次应用程序,应用程序也会抛出这个错误。
这个错误消息似乎有许多不同的原因。我遇到的情况是在一个真实的设备上(因此模拟器基础解决方案不适用)。
基本上,当发生这种情况时,将Logcat过滤器设置为Verbose或Warn,这将帮助您获得有关原因的更多信息。
以我为例,我正在从事的项目(一个大型现有代码库)中包含了多个或相互冲突的JUnit版本。我试图部署的Android应用程序有几个库项目作为依赖项,我错误地将其设置为包含多个JUnit jar文件。
我是根据一系列Logcat信息发现这一点的。注意WARN行给出了原因:
DEBUG/dalvikvm(4808): DexOpt: 'Ljunit/framework/TestSuite$1;' has an earlier definition; blocking out
11-06 14:30:10.973: WARN/dalvikvm(4808): Invalid file flags in class Ljunit/runner/Sorter$Swapper;: 0209
11-06 14:30:10.973: null/libc(4808): Fatal signal 11 (SIGSEGV) at 0x00000004 (code=1), thread 4808 (dexopt)
在build.gradle 更改已编译并构建到最新版本。这对我很有效。
================
android {
compileSdkVersion 22
buildToolsVersion "22"
我改变了模拟器的RAM大小和内部存储容量,现在它正在工作…在eclipse AVD管理器