我正在使用Android 2.2开发一个Android应用程序,我的应用程序APK大小是22.5 MB,我想为三星平板电脑创建一个新的构建。我得到了以下错误:

INSTALL_FAILED_DEXOPT

如何解决这种错误?


当前回答

我有这个问题时,有一些Unicode字符在我的方法名称(由于,所有的事情,复制/粘贴从powerpoint文件),Dalvik不喜欢。在尝试安装APK时,您可以通过查看Logcat输出来了解这一点。

这是在一个真实的设备上。

其他回答

在android Studio中点击File -> Invalidate cache / restart。当我在设备而不是模拟器上得到这个错误时,这个对我有用。

我已经更改了android版本4对sdk 21的支持,并出现了这个错误。所以我回到了旧版本(21年前)的支持版本,它工作了。该错误只发生在android 2.3

我在尝试更新新的构建工具24.0.1时遇到了这个问题。互联网连接丢失,工具下载不成功,之后我得到了这个错误,花了很多时间试图解决它。但是当我成功地更新构建工具时,问题就解决了。祝你好运。

targetSdkVersion 22//17==========================>设置这个数字小于或等于设备上的Android操作系统版本可能会有帮助

 defaultConfig {
        applicationId "software.nhut.personalutilitiesforlife"
        minSdkVersion 16
        targetSdkVersion 22//17==========================> set this number less then or equal to the version of Android OS on devices might help
        versionCode 5
        versionName "1.26"
        // Enabling multidex support.
        multiDexEnabled true
    }

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