Я получаю ошибку INSTALL_FAILED_DEXOPT (которая, похоже, не имеет никакого отношения к другим вопросам, которые были заданы здесь об INSTALL_FAILED_DEXOPT), когда я пытаюсь установить приложение для Android при следующих условиях:
- Сначала приложение устанавливается в только что созданный эмулятор 2.3.3 с использованием Eclipse и плагина Android.
- Более новая версия приложения установлена поверх предыдущей версии на существующих эмуляторах 2.3.3 и 2.2 с использованием Eclipse, как указано выше.
- Я даже пытался установить флажок «Wipe User Data» при запуске эмуляторов.
- Более новая версия приложения установлена поверх предыдущей версии на HTC G2, работающей CyanogenMod 7.1 ночью (2.3.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_reindex'
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_reindex"
android:title="@string/reindex_books"/>
</menu>
</item>
</menu>
Что мне нужно сделать, чтобы избежать ошибки INSTALL_FAILED_DEXOPT?