Как решить ошибку INSTALL_FAILED_DEXOPT? - PullRequest
140 голосов
/ 01 марта 2011

Я занимаюсь разработкой приложения для Android на Android 2.2, размер APK моего приложения составляет 22,5 МБ, и я хотел бы создать новую сборку для планшета Samsung. Я получил следующую ошибку:

INSTALL_FAILED_DEXOPT

Как мне решить эту ошибку?

Ответы [ 40 ]

4 голосов
/ 15 июня 2018

У меня сегодня была та же проблема с Android Studio на новом виртуальном устройстве. Оказалось, что я скачал образ x86_64, воссоздающий VD с эквивалентным x86 изображением, исправившим его.

Я ожидал получить INSTALL_FAILED_NO_MATCHING_ABIS в этом случае, но каким-то образом я застрял с INSTALL_FAILED_DEXOPT

4 голосов
/ 08 августа 2015

INSTALL_FAIL_DEXOPT обычно имеет отношение к пределу, установленному на classes.dex.На любом pre-ICS dexopt не будет работать ни на чем более 5 МБ.Последние версии Android используют буфер 8 или 16 МБ.

Проверьте размер файла classes.dex в вашем APK.Также было бы хорошо узнать, каков счет вашего метода, поскольку dex имеет предел метода / поля 65536.


Ссылки:

Ошибка при установке приложения (INSTALL_FAILED_DEXOPT)

https://www.facebook.com/notes/facebook-engineering/under-the-hood-dalvik-patch-for-facebook-for-android/10151345597798920

Как сжать код - предел метода 65k в dex

3 голосов
/ 01 октября 2014

classes.dex не доходит до финала .apk. Запуск gradlew --offline clean && gradlew --offline assembleDebug исправил вещи для меня каждый раз. С этого момента вы можете снова запустить приложение из Android Studio.

РЕДАКТИРОВАТЬ: Перед тем, как я сказал выше, зайдите в диспетчер задач и убейте все процессы cmd.exe и conhost.exe (или только тот, в котором застрял aapt). В противном случае aapt будет зависать при запуске из командной строки с печально известной ошибкой -1073741819.

3 голосов
/ 24 июня 2014

Я столкнулся с этой проблемой после включения флага jumboMode в сборке (dex.force.jumbo=true).Все работало нормально на новых устройствах Android, но установка не удалась на Gingerbread.

Так что, если ваше приложение требует jumbo mode из-за раздражающего ограничения в 65k, попробуйте обрезать некоторые неиспользуемый код / ​​строки и установить для jumbo mode значение false.

3 голосов
/ 25 февраля 2019

проверить место на вашем устройстве

3 голосов
/ 05 декабря 2014

Я получил ту же ошибку и исправил ее, увеличив размер внутреннего хранилища.

Внутреннее хранилище изначально было настроено на 32 МБ (я знаю), а затем я установил на него пару apks, которые имелиосталось меньше места, чем нужно для установки.

2 голосов
/ 06 сентября 2018

targetSdkVersion 22 // 17 ==========================> установить это число меньше или равно версии ОС Android на устройствахможет помочь

 defaultConfig {
        applicationId "software.nhut.personalutilitiesforlife"
        minSdkVersion 16
        targetSdkVersion 22//17==========================> set this number less then or equal to the version of Android OS on devices might help
        versionCode 5
        versionName "1.26"
        // Enabling multidex support.
        multiDexEnabled true
    }
2 голосов
/ 18 марта 2015

в build.gradle изменить скомпилированный и собрать до последней версии. и это сработало для меня.

================

android {
    compileSdkVersion 22
    buildToolsVersion "22"
2 голосов
/ 07 ноября 2014

Я удалил приложение и, тем не менее, получил ошибку INSTALL_FAILED_DEXOPT.Если вы работаете с Android Studio / Gradle: Gradle Clean сделал свое дело для меня, ура.

1 голос
/ 08 мая 2014

У меня была эта ошибка тестирования на реальном устройстве. Очистка кеша / удаление, перезапуск всего у меня не сработал, удаление содержимого папки сборки сделало :) (Android studio)

...