APK не будет устанавливать: DalvikVM не может его оптимизировать (байтовый обмен и проверка не выполняется)

Я получаю ошибку INSTALL_FAILED_DEXOPT (которая, похоже, не имеет ничего общего с другими вопросами, заданными здесь об INSTALL_FAILED_DEXOPT), когда я пытаюсь установить приложение для Android в следующих условиях:

  1. Сначала приложение устанавливается на недавно созданный эмулятор 2.3.3 с использованием Eclipse и Android-плагина.
  2. Более новая версия приложения установлена ​​поверх предыдущей версии на предварительных эмуляторах 2.3.3 и 2.2 с использованием Eclipse, как указано выше.
  3. Я даже попытался щелкнуть флажок «Очистить пользовательские данные» при запуске эмуляторов.
  4. Более новая версия приложения установлена ​​поверх предыдущей версии на HTC G2, работающей на CyanogenMod 7.1 в ночное время (2.3.5).
  5. Удаленная предыдущая версия приложения из G2 с помощью «adb -d uninstall com.jackcholt.reveal» затем попыталась установить новую версию на G2 с помощью «adb -d install Reveal3.apk»,

Каждый раз, когда я пытался, я получил следующие ошибки в LogCat:

D/PackageParser( 75): Scanning package: /data/app/vmdl352595685.tmp D/PackageManager( 75): Scanning package com.jackcholt.reveal I/PackageManager( 75): Unpacking native libraries for /data/app/com.jackcholt.reveal-1.apk D/installd( 35): DexInv: --- BEGIN '/data/app/com.jackcholt.reveal-1.apk' --- E/dalvikvm( 378): Invalid name: 'menu_item_re‌index' E/dalvikvm( 378): Trouble with item 282 @ offset 0x17dd8 E/dalvikvm( 378): Cross-item verify of section type 0004 failed E/dalvikvm( 378): ERROR: Byte swap + verify failed E/dalvikvm( 378): Optimization failed W/installd( 35): DexInv: --- END '/data/app/com.jackcholt.reveal-1.apk' --- status=0xff00, process failed E/installd( 35): dexopt failed on '/data/dalvik-cache/data@app@com.jackcholt.reveal-1.apk@classes.dex' res = 65280 W/PackageManager( 75): Package couldn't be installed in /data/app/com.jackcholt.reveal-1.apk 

И первое, что я попробовал, это изменить «Недействительное имя» – «menu_item_index». Он находится ближе к концу в XML-файле определения меню со следующим содержимым:

 <?xml version="1.0" encoding="utf-8"?> <menu android:id="@+id/shared_menu" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:icon="@android:drawable/ic_menu_recent_history" android:title="@string/menu_history" android:id="@+id/menu_item_history"/> <item android:icon="@android:drawable/ic_input_get" android:title="@string/menu_bookmark" android:id="@+id/menu_item_bookmark"/> <item android:id="@+id/menu_item_previous" android:icon="@drawable/previous_chapter" android:title="@string/menu_previous"/> <item android:id="@+id/menu_item_next" android:icon="@drawable/next_chapter" android:title="@string/menu_next"/> <item android:icon="@android:drawable/ic_menu_set_as" android:id="@+id/menu_item_download" android:title="@string/menu_browser"/> <item android:icon="@android:drawable/ic_menu_preferences" android:id="@+id/menu_item_settings" android:title="@string/menu_settings"/> <item android:id="@+id/menu_item_note_browser" android:title="@string/annot_brow" android:icon="@android:drawable/ic_input_get"/> <item android:icon="@android:drawable/ic_menu_more" android:title="@string/more" android:id="@+id/menu_extra"> <menu> <item android:id="@+id/menu_item_download" android:title="@string/menu_browser"/> <item android:id="@+id/menu_item_note_browser" android:title="@string/annot_brow"/> <item android:title="@string/menu_help" android:id="@+id/menu_item_help"/> <item android:title="@string/menu_refresh_library" android:id="@+id/menu_item_refresh_lib"/> <item android:title="@string/menu_update" android:id="@+id/menu_item_update"/> <item android:title="@string/reset" android:id="@+id/menu_item_reset"/> <item android:title="@string/donate_menu" android:id="@+id/menu_item_donate"/> <item android:title="@string/menu_license" android:id="@+id/menu_item_license"/> <item android:id="@+id/menu_item_about" android:title="@string/menu_about"/> <item android:id="@+id/menu_item_re‌index" android:title="@string/reindex_books"/> </menu> </item> </menu> 

Что мне нужно сделать, чтобы избежать ошибки INSTALL_FAILED_DEXOPT?

Solutions Collecting From Web of "APK не будет устанавливать: DalvikVM не может его оптимизировать (байтовый обмен и проверка не выполняется)"

Не уверен, связано ли это, но может ли это быть вызвано выходным файлом dex, который слишком велик для версии Android, на которой вы работаете?

Т.е. делает ли тот же двоичный файл более высокой версией API для Android? (Если да, то это, вероятно, вызвано слишком многими проблемами методов)

Есть множество других потоков вокруг ошибок dexopt, кажется, что единственным приемлемым ответом для этого является ограничение количества классов, которые вы используете; Вы используете proguard?