问题
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 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.
回答1:
It's a limitation in Dalvik triggered on unusually complex interface hierarchies.
http://code.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.
A fix has been merged into Android AOSP. https://android-review.googlesource.com/#/c/30900/
回答2:
I had this issue when trying to install my app on the emulator. What helped was to reset the emulator (wipe all user data) via AVD Manager. Let's see how long this will last....
来源:https://stackoverflow.com/questions/3776152/android-install-failed-dexopt-while-install-app-on-android-1-5