我正在开发的应用程序不能在 Android 1.5 和 Android 2.x 平台上运行。 当我在 Android 2.2 上安装它时一切正常,但是在 Android 1.5 的模拟器上我得到一个错误:
Failure [INSTALL_FAILED_DEXOPT]
可能是什么问题?
UPD 即 Logcat 输出:
09-26 07:12:22.484: INFO/PackageManager(579): /data/app/vmdl23706.tmp changed; unpacking
09-26 07:12:22.494: DEBUG/installd(557): DexInv: --- BEGIN '/data/app/vmdl23706.tmp' ---
09-26 07:12:36.114: ERROR/dalvikvm(1362): LinearAlloc exceeded capacity, last=336
09-26 07:12:36.114: ERROR/dalvikvm(1362): VM aborting
09-26 07:12:36.265: INFO/DEBUG(551): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
09-26 07:12:36.265: INFO/DEBUG(551): Build fingerprint: 'generic/sdk/generic/:1.5/CUPCAKE/150240:eng/test-keys'
09-26 07:12:36.265: INFO/DEBUG(551): pid: 1362, tid: 1362 >>> /system/bin/dexopt <<<
09-26 07:12:36.265: INFO/DEBUG(551): signal 11 (SIGSEGV), fault addr deadd00d
看来是内存不够了...有谁知道怎么解决这样的问题吗?如果有任何帮助,我将不胜感激。
最佳答案
这是 Dalvik 中的一个限制,由异常复杂的接口(interface)层次结构触发。
http://code.google.com/p/android/issues/detail?id=22586
有关解决方法的想法,请参阅详细信息。简单的答案可能是尝试使用不太复杂的不同库。
修复已合并到 Android AOSP 中。 https://android-review.googlesource.com/#/c/30900/
关于Android:在 Android 1.5 上安装应用程序时 INSTALL_FAILED_DEXOPT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3776152/