我正在使用Android 2.2开发一个Android应用程序,我的应用程序APK大小是22.5 MB,我想为三星平板电脑创建一个新的构建。我得到了以下错误:
INSTALL_FAILED_DEXOPT
如何解决这种错误?
我正在使用Android 2.2开发一个Android应用程序,我的应用程序APK大小是22.5 MB,我想为三星平板电脑创建一个新的构建。我得到了以下错误:
INSTALL_FAILED_DEXOPT
如何解决这种错误?
当前回答
在我的案例中,问题发生在一些运行API 21和22的设备上。在应用程序标签下的manifest中设置android:vmSafeMode="true"解决了这个问题。但是,不建议发布版本使用它,所以我在values文件夹中创建了两个xml文件。旧API的默认值:
<resources>
<bool name="vm_safe_mode">true</bool>
</resources>
API的>= 23值为假,也是如此。在这种情况下,操作系统更新的设备不会受到影响,旧的设备至少可以工作。
其他回答
INSTALL_FAIL_DEXOPT通常与放在classes.dex上的限制有关。在ics之前的任何版本上,dexopt在超过5 MB的地方都会失败。最近版本的Android使用8或16 MB的缓冲区。
检查APK中classes.dex的大小。看看方法计数是多少也很好,因为dex有65536个方法/字段限制。
引用:
安装应用程序时出现错误
https://www.facebook.com/notes/facebook-engineering/under-the-hood-dalvik-patch-for-facebook-for-android/10151345597798920
如何缩小代码- 65k方法限制在dex
我正在使用Android Studio,也出现了同样的错误。
删除主模块的构建文件夹有帮助。删除后一切恢复正常。
Classes.dex不会进入最终的。apk。运行gradlew—脱机清洁&& gradlew—脱机组装调试每次都为我解决问题。从那时起,你可以再次从Android Studio启动应用程序。
编辑:在我上面所说的之前,进入任务管理器并杀死所有cmd.exe和conhost.exe进程(或者只是一个aapt卡住的进程)。否则,aapt从现在开始从命令行启动时会崩溃,并出现臭名昭著的错误-1073741819。
您正在安装的应用程序的旧版本有已更改的依赖库/ jar。我在更新我的应用程序引用的其他jar文件时遇到了这个问题。
你将需要卸载旧版本,然后你应该没有更多的问题…
设置—>应用程序—>管理应用程序—>[找到并卸载您的应用程序]
INSTALL_FAILED_DEXOPT错误不应该爆发。就像
[2011-06-14 01:23:40 - ProtectYourself] Installing ProtectYourself.apk...
[2011-06-14 01:24:26 - ProtectYourself] Installation error: INSTALL_FAILED_DEXOPT
[2011-06-14 01:24:26 - ProtectYourself] Please check logcat output for more details.
[2011-06-14 01:24:26 - ProtectYourself] Launch canceled!
呜。
也许这个会有帮助:
在启动模拟器之前擦除用户数据 清理项目 删除不需要的依赖项....