Я занимаюсь разработкой приложения для Android с использованием Android 2.2, размер APK моего приложения составляет 22,5 МБ, и я хочу создать новую сборку для планшета Samsung. Я получил следующую ошибку:
INSTALL_FAILED_DEXOPT
Как мне решить эту ошибку?
Ответы:
Перезапуск эмулятора из
Android SDK and AVD Manager
и выбор опцииWipe User Data
решил эту проблему для меня.Вы можете найти эту опцию, как показано на рисунке ниже:
источник
adb kill-server
тогдаadb start-server
решить вашу проблему. Может быть старое приложение существует, затем сначала удалите его.Похоже, это связано с дисковым пространством для меня. Недавно развернутый эмулятор 5.1 загружается с ошибкой «недостаточно места на диске» - и, глядя на свойства эмулятора, пространство по умолчанию, выделяемое для внутренней памяти, составляет 800 МБ, что кажется низким.
Решение, поэтому было увеличить это (я пошел на 4 ГБ). Как ни странно, эмулятор по-прежнему загружается с тем же предупреждением о дисковом пространстве, но его сброс на заводские настройки (Настройки -> Резервное копирование и восстановление в эмуляторе) решил это полностью для меня.
Просто немного странно, что это не работает из коробки с настройками по умолчанию.
источник
Ваша старая версия приложения, которое вы устанавливаете, имеет зависимые библиотеки / файлы, которые были изменены. Я столкнулся с этой проблемой при обновлении других файлов jar, на которые ссылалось мое приложение.
Вам нужно будет удалить старую версию, и тогда у вас больше не будет проблем ...
Настройки -> Приложения -> Управление приложениями -> [Найти и удалить приложение]
Ошибки INSTALL_FAILED_DEXOPT не должны возникать. подобно
Ууууууууу.
источник
Если вы используете Android Studio , попробуйте очистить ваш проект:
Построить> Чистый проект
источник
Кажется, что это сообщение об ошибке может иметь много разных причин. Случай, с которым я столкнулся, был на реальном устройстве (таким образом, решения основ эмулятора не применялись).
В основном, когда это происходит, установите для фильтра Logcat значение Verbose или Warn , что поможет вам получить больше информации о причине.
В моем случае несколько или конфликтующие версии JUnit были включены в проект, над которым я работал (большая существующая кодовая база). Приложение Android, которое я пытался развернуть, содержало несколько библиотечных проектов в качестве зависимостей, и я по ошибке настроил несколько jar-файлов JUnit.
Я обнаружил это на основе серии сообщений Logcat. Обратите внимание, что строка WARN указывает причину:
источник
Столкнулся с этим с Android Studio 3.4.1, но с использованием более старого (5.0) эмулятора. Эта процедура (на Mac) исправила проблему:
источник
Я изменил размер оперативной памяти и внутреннюю емкость эмулятора. Теперь он работает ... в Eclipse AVD manager
источник
попробуй мой ответ https://stackoverflow.com/a/34918549/3737254
Если вы используете Android Studio 2.0, отключите мгновенный запуск.
К вашему сведению, мгновенный запуск - это новая функция от Android Studio 2.0 (я никогда не использовал ее>. <)
как отключить: настройки -> сборка, выполнение и развертывание -> мгновенный запуск -> отключить, затем работает как по волшебству
Наслаждайтесь!
источник
Мне нужно было отключить Instant Run, чтобы исправить проблему. Чтобы отключить мгновенный запуск в OS X, выберите « Android Studio» > « Установки» > « Сборка, выполнение, развертывание» > « Быстрый запуск», а затем снимите галочку с
Enable Instant Run to hot swap code/resource changes on deploy (default enabled)
.источник
dexopt error. Application failed to install
. Я попробовал это, прежде чем нашел это:adb kill-server
adb start-server
перезапуск Android Studio и сброс настроек к заводским настройкам моего устройства.Единственное решение, которое помогло мне исправить это, - увеличить ОЗУ виртуальной машины до 4 ГБ.
источник
У меня была такая же проблема сегодня с Android Studio на новом виртуальном устройстве. Оказалось, я скачал
x86_64
образ, воссоздав VD с эквивалентнымx86
изображением, исправившим его.Я ожидал получить
INSTALL_FAILED_NO_MATCHING_ABIS
в этом случае, но каким-то образом я застрял сINSTALL_FAILED_DEXOPT
источник
x86
не удалась. После загрузки образа и смены эмулятораx86_64
ошибка исчезла. Я использовал образ системы API 21.x86_64
изображение вместоx86
одного. Я также использовал API 21 AVD (Nexus 5).Я работаю с Android Studio и была такая же ошибка.
Помогло удаление папки сборки основного модуля. После удаления все возвращается на круги своя.
источник
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
источник
Я столкнулся с этой проблемой после включения флага jumboMode в build (
dex.force.jumbo=true
). Все работало нормально на новых устройствах Android, но установка не удалась на Gingerbread.Поэтому, если ваше приложение требует джамбо-режима из-за раздражающего ограничения в 65 КБ, попробуйте обрезать неиспользуемый код / строки и установить для джамбо-режима значение false.
источник
classes.dex
не доходит до финала.apk
. Запускgradlew --offline clean && gradlew --offline assembleDebug
исправленных вещей для меня каждый раз. С этого момента вы можете снова запустить приложение из Android Studio.РЕДАКТИРОВАТЬ: Перед тем, что я сказал выше, зайдите в диспетчер задач и убейте все
cmd.exe
иconhost.exe
процессы (или только тот, в которомaapt
застрял). В противном случаеaapt
произойдет сбой при запуске из командной строки с печально известной ошибкой-1073741819
.источник
build.gradle
файле проекта . Среди зависимостей buildscript должны бытьclasspath 'com.android.tools.build:gradle:1.0.0-rc4'
.Я получил ту же ошибку и исправил ее, увеличив размер внутреннего хранилища.
Внутреннее хранилище было изначально настроено на 32 МБ (я знаю), а затем я установил на него пару apks, которые оставили меньше места, чем нужно для установки.
источник
проверьте место на вашем устройстве
источник
Я удалил приложение и все же получил ошибку INSTALL_FAILED_DEXOPT. Если вы работаете с Android Studio / gradle: gradle clean помог мне, Cheers.
источник
В build.gradle изменение скомпилировано и собрано до последней версии. и это сработало для меня.
================
источник
здесь много ответов, но, возможно, это может помочь кому-то, у меня была эта проблема с реальным устройством, и проблема была с D8
попробуйте добавить это в свой gradle.properties, и это работает для меня
источник
Я получал эту проблему при попытке установить на 2.3 устройства (отлично на 4.0.3). Это закончилось тем, что у проекта lib, который я использовал, было несколько jar-файлов, предназначенных для вещей, уже находящихся в Android, например, HttpClient, парсеры XML и т. Д. Глядя на это,
logcat
я обнаружил, что это говорит о том, что пропускаются классы из-за того, что они уже были настоящее время. Хорошая бесполезная ошибка!источник
У меня была эта ошибка тестирования на реальном устройстве. Очистка кеша / удаление, перезапуск всего у меня не сработал, удаление содержимого папки сборки делали :) (Android studio)
источник
Универсального решения не существует, вы должны найти ошибку, сообщенную на вашем Logcat, чтобы иметь возможность ее выяснить. Иногда это класс, который не может быть «dexed» из-за использования класса, например, недоступного в указанном Target API. Или это может быть класс, на который вы ссылаетесь в своем коде, но библиотека, в которой он находится, не упаковывается.
источник
Подумайте об использовании Proguard, чтобы уменьшить ваш APK. У меня та же проблема, если я пытаюсь установить большой 25MB + APK на старое устройство Samsung Galaxy Ace 2.3.6 без сжатия / оптимизации кода с помощью proguard.
Jumbo mode и перезапуск устройства не работают.
источник
В моем случае это была ошибка в плагине kotlin версии 1.1.51
https://youtrack.jetbrains.com/issue/KT-20034
Эта ошибка появилась на старых устройствах (API 16).
Исправлено, удаляя аннотации @Parcelize и заменяя их следующим генератором кода: https://github.com/nekocode/android-parcelable-intellij-plugin-kotlin
источник
targetSdkVersion 22 // 17 ==========================> установить это число меньше или равным версии ОС Android на устройствах может помочь
источник
У меня была эта проблема, когда в именах моих методов были некоторые символы Юникода (из-за копирования / вставки из файла powerpoint), которые Дальвику не нравились. Вы можете увидеть это, посмотрев на выход Logcat при попытке установить APK.
Это было на реальном устройстве.
источник
Решено путем корректировки даты и времени на телефоне (это была некоторая дата по умолчанию 01.01.1980) и очистки проекта.
источник
Я изменил свою версию поддержки Android версии 4 для SDK 21 и имел эту ошибку. Поэтому я вернулся к версии поддержки старой версии (до 21), и она работала. Ошибка происходила только в Android 2.3
источник
Я столкнулся с этой проблемой, когда пытался обновить новые инструменты сборки 24.0.1. Подключение к Интернету было потеряно, и инструменты не были успешно загружены, после этого я получил эту ошибку и потратил много времени, пытаясь ее устранить. Но когда я успешно обновил инструменты сборки - проблема решена. Удачи.
источник