我正在使用Android 2.2开发一个Android应用程序,我的应用程序APK大小是22.5 MB,我想为三星平板电脑创建一个新的构建。我得到了以下错误:
INSTALL_FAILED_DEXOPT
如何解决这种错误?
我正在使用Android 2.2开发一个Android应用程序,我的应用程序APK大小是22.5 MB,我想为三星平板电脑创建一个新的构建。我得到了以下错误:
INSTALL_FAILED_DEXOPT
如何解决这种错误?
当前回答
在构建中启用jumboMode标志(dex.force.jumbo=true)后,我遇到了这个问题。在更新的Android设备上一切正常,但在Gingerbread上安装失败。
因此,如果你的应用程序由于烦人的65k限制而需要巨型模式,尝试删除一些未使用的代码/字符串,并将巨型模式设置为false。
其他回答
当我尝试在2.3设备上安装时遇到了这个问题(在4.0.3上没问题)。它最终是因为我正在使用的lib项目有多个jar,这些jar用于android中已经存在的东西,例如HttpClient和XML解析器等。看着logcat让我发现这个,因为它告诉我它正在逃课,因为他们已经存在了。很好的无用的原始错误!
我需要禁用即时运行来解决这个问题。要禁用OS X上的即时运行,请进入Android Studio >首选项>构建,执行,部署>即时运行,然后从“启用即时运行”中删除“部署时热插拔代码/资源更改”(默认启用)。
试试我的答案https://stackoverflow.com/a/34918549/3737254
如果你使用android studio 2.0,禁用即时运行。
仅供参考,即时运行是android studio 2.0的新功能(我从未使用过>。<)
如何禁用:首选项->构建,执行和部署->即时运行->禁用,然后像魔法一样工作
享受吧!
在构建中启用jumboMode标志(dex.force.jumbo=true)后,我遇到了这个问题。在更新的Android设备上一切正常,但在Gingerbread上安装失败。
因此,如果你的应用程序由于烦人的65k限制而需要巨型模式,尝试删除一些未使用的代码/字符串,并将巨型模式设置为false。
考虑使用proguard来缩小APK。如果我试图在旧的三星Galaxy Ace 2.3.6设备上安装25MB以上的APK,而没有使用proguard收缩/优化代码,我也会遇到同样的问题。
Jumbo模式和重新启动设备无效。