背景
我想简化 Android 应用中数据库的使用。
为此,我比较了一些创建 DAO 层的第三方库。
我想出了一个很好的库,叫做“GreenDao”(关于它的介绍 here)。该网站显示它比其他竞争对手(如 ORMLite)更快,并且针对 Android 进行了优化。
问题
出于某种原因,在某些设备(通常是旧设备,GB)上,我在尝试安装应用程序时遇到下一个控制台错误:
Installation error: INSTALL_FAILED_DEXOPT
Please check logcat output for more details.
Launch canceled!
我已经搜索了这个错误的原因,但找不到解决方法。许多人提示此错误,但我无法找出它发生的原因以及可以采取的措施。
这个错误很常见并且是已知的,但是从来没有提到它是使用这个库的结果,但是当我删除这个库的使用时,一切正常......
另请注意,在较新的设备(如 nexus 4)上它可以正常安装和工作,而且无论我在哪个设备上测试示例本身也可以正常工作。
问题
为什么会发生?
由于我们使用其他库,类的结构是否可能对旧设备来说太多而无法加载?
难道我已经达到了Android应用程序支持的代码限制?
jar 文件本身只需要 87KB ...
我该如何解决这个问题?
最佳答案
好的,我已经找到问题和解决方案了:
与GreenDao无关
是因为app使用了太多的jar,所以可能Android有代码限制。
解决方案是删除不需要的 jar 文件或删除大量代码。
关于android - 使用 GreenDao 时 INSTALL_FAILED_DEXOPT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21853151/