安卓:INSTALL_FAILED_DEXOPT时安装上Android 1.5的应用程序装上、应用程序、INSTALL_FAILED_DEXOPT、Android

2023-09-07 14:02:36 作者:宿命太过致命

我开发应用程序,它胸围双方的Andr​​oid 1.5和Andoroid 2.x的平台上运行。 当我在Android 2.2安装一切正常,但在仿真器与Android 1.5我得到一个错误:

I am developing app which bust run on both Android 1.5 and Andoroid 2.x platforms. When I install it on Android 2.2 all is OK, but on emulator with Android 1.5 I get an error:

Failure [INSTALL_FAILED_DEXOPT]

这是什么问题可能?

What is the problem may be?

UPD 这是logcat的输出:

UPD That is Logcat output:

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

看来,内存是不够的......如果有人知道如何处理这样的问题打?我将不胜感激任何帮助。

It seems that memory was not enough... If anybody knows how to fight with such problem? I would be very grateful for any help.

推荐答案

这是在Dalvik的限制引发的异常复杂的界面层次。

It's a limitation in Dalvik triggered on unusually complex interface hierarchies.

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

查看周围的工作细节的想法。简单的答案可能是尝试使用不同的库中的那么复杂。

See the details for ideas on working around. Simple answer might be to try using different libraries that are less complex.

一个修补程序已被合并到Android的AOSP。 https://android-review.googlesource.com/#/c/30900/

A fix has been merged into Android AOSP. https://android-review.googlesource.com/#/c/30900/