4

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

メモリが足りなかったようです... 誰かがそのような問題と戦う方法を知っていますか? どんな助けにもとても感謝しています。

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 に答える