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

INSTALL_FAILED_DEXOPT

如何解决这种错误?


当前回答

确保你已经安装了所有你需要的SDK,并且Gradle瞄准了正确的版本。

我也遇到过同样的问题,但这是由于我将设备更新到Android 5.0,然后忘记更改所有的构建来针对它。

其他回答

通过纠正电话上的日期时间(它是一些默认日期01.01.1980),并清理项目来解决。

一个原因是classes.dex在.apk-package的根目录中找不到。 要么

该文件在apk-package或 它位于.apk文件中的子文件夹中。

这两种情况都会导致终止,因为Android只搜索apk文件的根目录。造成这种混乱的原因是.apk文件的构建运行没有错误消息。

造成这种错误的核心原因可能是:

dx工具需要在当前的主工作文件夹中找到classes.dex。但实际上,classes.dex位于其他位置。 Aapt在classes.dex的位置有错误信息。例如,在aapt.exe中添加…bin / classes.dex。这是错误的,因为classes.dex在创建的.apk文件的子文件夹/bin中。

我添加了下面的行到gradle。属性文件,问题得到解决:

android.enableD8=false 
android.enableD8.desugaring= false

我在真正的设备上运行这个应用程序。

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

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

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