4

我正在开发可以在 Android 1.5 和 Andoroid 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

似乎内存不够......如果有人知道如何解决这样的问题?如果有任何帮助,我将不胜感激。

4

2 回答 2

5

这是在异常复杂的接口层次结构上触发的 Dalvik 限制。

http://code.google.com/p/android/issues/detail?id=22586

有关解决方法的想法,请参阅详细信息。简单的答案可能是尝试使用不太复杂的不同库。

修复程序已合并到 Android AOSP。 https://android-review.googlesource.com/#/c/30900/

于 2012-03-20T11:25:59.383 回答
0

尝试在模拟器上安装我的应用程序时遇到了这个问题。帮助的是通过 AVD Manager 重置模拟器(擦除所有用户数据)。让我们看看这会持续多久......

于 2013-09-11T14:28:27.307 回答