我正在使用Android中的ccr4j API,所以当我运行我的项目时会抛出一个错误,如:
安装应用程序时出错(INSTALL_FAILED_DEXOPT)
我也从网站和同一网站找到了,所有尝试都是这样的,
1.从设备上卸载相同的应用程序
2.使用擦除用户数据运行仿真器
但仍然会出现同样的错误。
所以任何人都知道为什么会抛出这种错误?
答案 0 :(得分:8)
这很可能与classes.dex的大小有关。对于任何超过5mb的任何预先ICS dexopt将失败。检查apk中classes.dex的大小。如果dex具有65536方法/字段限制,那么查看您的方法计数也是很好的。
答案 1 :(得分: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
答案 2 :(得分:0)
找到Android SDK文件夹。 (通常为C:\User\AppData\Local\Android\sdk
)删除以dot(。)开头的文件夹,它们是临时下载文件。然后从SDK Manager中删除 Android模拟器。然后以管理员身份运行Android Studio,然后再次下载并安装 Android模拟器。并确保您已安装Intel H.A.X.M.
。现在,您可以创建模拟器并正确使用它。