安装应用程序时出现错误 (INSTALL_FAILED_DEXOPT)

10

我正在Android中使用ccr4j API,运行项目时出现了以下错误:
安装应用程序时出错 (INSTALL_FAILED_DEXOPT)

我在网上查找并尝试了以下解决方法:
1. 从设备中卸载相同的应用程序。
2. 使用"Wipe User Data"运行模拟器。
但仍然出现相同的错误。

所以,有人知道为什么会出现这种错误吗?


你是否删除了虚拟设备并重新创建了它? - iTech
是的,我也做了那个,但问题依旧。 - PrashantAdesara
3个回答

8

这可能与classes.dex的大小有关。在ICS之前的任何设备上,如果超过5mb,dexopt将无法处理。请检查您apk中classes.dex的大小。另外,请注意您的方法计数,因为dex有65536个方法/字段限制。


非常感谢!我之前找不到解决方案,但是看到了您的答案。我删除了/libs文件夹中未使用的库和其他链接到项目的库,现在它可以运行了。当我有时间时,我会稍后使用Proguard来保护该应用程序。 - Seb83

4
我有同样的问题。检查了classes.dex文件,大约有7MB。我会尝试找到解决方案。我希望Facebook的解决方案也能解决我的问题。 顺便说一下,谢谢@Jared提供的信息。 https://www.facebook.com/notes/facebook-engineering/under-the-hood-dalvik-patch-for-facebook-for-android/10151345597798920 编辑1:我通过使用proguard优化解决了这个问题。我的先前的classes.dex文件大约为7MB,经过proguard优化后变成了4MB。现在我可以在2.2和2.3设备上运行这个混淆和优化的apk。
编辑2:官方的Google Multi Dex支持是这个问题的最佳解决方案。https://developer.android.com/tools/building/multidex.html

0

找到 Android SDK 文件夹。(通常在 C:\User\AppData\Local\Android\sdk) 删除以点(.)开头的文件夹,它们是临时下载文件。然后从 SDK 管理器中删除 Android 模拟器。然后以管理员身份运行 Android Studio,再次下载并安装 Android 模拟器。并确保你已经安装了 Intel H.A.X.M.。现在你可以创建模拟器并无误地使用它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接