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

INSTALL_FAILED_DEXOPT

如何解决这种错误?


当前回答

在我的案例中,这是kotlin插件1.1.51版本中的一个bug

https://youtrack.jetbrains.com/issue/KT-20034

此错误出现在旧设备上(API 16)。

通过删除@Parcelize注释并将其替换为以下代码生成器:https://github.com/nekocode/android-parcelable-intellij-plugin-kotlin修正了此问题

其他回答

在构建中启用jumboMode标志(dex.force.jumbo=true)后,我遇到了这个问题。在更新的Android设备上一切正常,但在Gingerbread上安装失败。

因此,如果你的应用程序由于烦人的65k限制而需要巨型模式,尝试删除一些未使用的代码/字符串,并将巨型模式设置为false。

如果你有INSTALL_FAIL_DEXOPT错误,请查看manifest android:targetSdkVersion。 设定版本< 21 示例:

android:targetSdkVersion=“19”

这对我很管用。

对我来说,这似乎与磁盘空间有关。新推出的5.1仿真器启动时出现了“磁盘空间不足”错误——查看仿真器属性,为内部存储分配的默认空间是800MB,这看起来很低。

因此,解决方案是增加内存(我增加到4GB)。奇怪的是,模拟器仍然引导相同的磁盘空间警告,但出厂重置(设置->备份和恢复在模拟器内部)完全解决了我的问题。

只是有点奇怪,它不能在默认设置下开箱即用。

我遇到过这个问题,因为我使用的库有一些不匹配

通过更新android sdk到最新解决。检查SDK管理器,如果它显示更新,然后完全更新,清理你的项目,然后运行,它会工作:)

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
    }