Установка не удалась, так как на устройстве, возможно, имеются устаревшие файлы 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 МБ, и ошибка "устаревший исправленный" исчезла.

Чтобы увеличить внутреннее хранилище:

  1. Перейти в ADV-Manager
  2. В разделе "Действия" нажмите кнопку "Изменить" на соответствующем устройстве.
  3. Нажмите "Показать дополнительные настройки".
  4. Увеличьте внутреннюю память

В случае, если эмулятор Android выдает сообщение "устаревший dexed", это помогло мне на Mac:

  1. остановить эмулятор
  2. cd ~/.android/avd/[имя эмулятора].avd
  3. rm *.lock
  4. стереть эмулятор
  5. запустить эмулятор

Я решил это, удалив данные.

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'

Другие вопросы по тегам