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

INSTALL_FAILED_DEXOPT

如何解决这种错误?


当前回答

给任何搜索关键词“房间”的人。我在实现Room来管理数据库时遇到了这个问题。原因是我从Android文档中复制了所有依赖项。只复制你需要的文件。如果您没有使用Kotlin或番石榴,只需添加:

implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"
testImplementation "androidx.room:room-testing:$room_version"

其他回答

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

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

因为这似乎是我自己遇到过多次的问题,这次没有一个分享的解决方案对我有帮助,我仍然会发布一些对我个人有帮助的东西,以及我认为将来可能会帮助其他人的东西:

进入项目目录,找到build/intermediates/dex-cache/cache文件。删除它——顾名思义,这是一个缓存的dex文件,如果你改变了项目的依赖关系,构建工具版本等,它可能已经过时了。

在使用Android Studio 3.4.1时遇到了这种情况,但使用的是较旧的模拟器(5.0)。这个过程(在Mac上)修复了这个问题:

停止模拟器 cd ~ /。安卓/ avd / .avd模拟器的名字 rm * .lock 擦模拟器 启动模拟器

考虑使用proguard来缩小APK。如果我试图在旧的三星Galaxy Ace 2.3.6设备上安装25MB以上的APK,而没有使用proguard收缩/优化代码,我也会遇到同样的问题。

Jumbo模式和重新启动设备无效。

检查设备上的存储空间