Установка не удалась, так как на устройстве, возможно, имеются устаревшие файлы JEX, не соответствующие текущей версии (ошибка dexopt)
Я не могу запустить приложение из Android Studio на моем телефоне Samsung Android 2.3.6. Я получаю всплывающее окно установки приложения, см. Скриншот ниже.
когда я нажимаю ОК, я получаю ниже ошибку в журнале
Failure [INSTALL_FAILED_DEXOPT]
DEVICE SHELL COMMAND: pm uninstall my.package.name
Unknown failure
Я попал в эту проблему после добавления модуля Google Cloud под названием "Серверная часть App Engine с Google Cloud Messaging".
Это точно такая же проблема, описанная в одном из вопросов переполнения стека здесь
Я попробовал принятый ответ.
Запустил приложение dex-method- countts Я получил "Общее количество методов: 24474" в терминале. Я не понимаю, что делать дальше?
(Примечание: это же приложение работает на моем другом устройстве, работающем на kitkat.)
Пожалуйста, помогите решить эту проблему. Я борюсь с прошлыми двумя днями. Я знаю, что есть много похожих вопросов, но мне ничего не помогло.
Встроенный -> Чистый не работает.
Вот мой файл build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "my.package.name"
minSdkVersion 9
targetSdkVersion 19
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile files('libs/libGoogleAnalyticsServices.jar')
compile project(path: ':gcmAppEngineBackend', configuration: 'android-endpoints')
compile 'com.android.support:support-v4:22.0.0'
compile 'com.android.support:appcompat-v7:22.0.0'
compile 'com.google.android.gms:play-services:7.0.0'
}
Заранее спасибо!
4 ответа
Обычно это происходит потому, что на вашем устройстве недостаточно места в памяти.
Удалите несколько приложений и попробуйте снова
Когда я получил эту ошибку, я использовал Nexus 4 в AVD-Manager. По умолчанию это устройство было создано с внутренней памятью 500 МБ. Я увеличил объем хранилища до 2048 МБ, и ошибка "устаревший исправленный" исчезла.
Чтобы увеличить внутреннее хранилище:
- Перейти в ADV-Manager
- В разделе "Действия" нажмите кнопку "Изменить" на соответствующем устройстве.
- Нажмите "Показать дополнительные настройки".
- Увеличьте внутреннюю память
В случае, если эмулятор Android выдает сообщение "устаревший dexed", это помогло мне на Mac:
- остановить эмулятор
- cd ~/.android/avd/[имя эмулятора].avd
- rm *.lock
- стереть эмулятор
- запустить эмулятор
Я решил это, удалив данные.
Android Studio -> AVD Manager -> Действия -> Очистить данные
Похоже, вашему эмулятору не хватает места на диске. Но после увеличения дискового пространства вы все равно получаете ошибку.
Я столкнулся с той же проблемой: увеличение дискового пространства и сброс настроек эмулятора к заводским настройкам также помогли мне. Чтобы сбросить настройки эмулятора, перейдите в Настройки -> Резервное копирование и восстановление внутри эмулятора, затем выполните сброс.
Запрещать Instant Run
,
Android Studio -> Preferences -> Instant Run
Также у меня такая же проблема. Чтобы это работало, мне пришлось удалить "стороннюю библиотеку" из зависимостей. Или попробуйте это: https://developer.android.com/tools/building/multidex.html
Замените это 'файлы компиляции ('libs/libGoogleAnalyticsServices.jar')' на это 'com.google.android.gms:play-services-analytics:8.3.0'