Установка завершилась неудачно, так как у устройства, возможно, есть устаревшие демпшированные банки, которые не соответствуют текущей версии (ошибка dexopt)

Я не могу запустить приложение из студии Android для моего телефона samsumg, работающего под управлением Android 2.3.6. Я получаю всплывающее окно установки приложения ниже скриншота.

enter image description here

когда я нажимаю OK, я получаю ниже ошибки в журнале

Failure [INSTALL_FAILED_DEXOPT]
DEVICE SHELL COMMAND: pm uninstall my.package.name
Unknown failure

Я попал в эту проблему после добавления облачного модуля Google под названием "Интерфейс App Engine с облачными сообщениями Google".

Это точно такая же проблема, описанная в одном из вопросов здесь

Я попробовал принятый ответ.

Ran dex-method-counts приложение. Я получил "Общий счетчик методов: 24474" в терминале. Я не понимаю, что делать дальше?

(Примечание. Это же приложение работает на моем другом устройстве, запущенном на kitkat.)

Пожалуйста, помогите решить эту проблему. Я борюсь за последние два дня. Я знаю, что есть много подобных вопросов, но мне ничего не помогло.

Built → Clean не работает.

Вот мой файл 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'

}

Спасибо заранее!

Ответы

Ответ 1

Это обычно происходит, потому что на вашем устройстве недостаточно места в памяти.

Удалите некоторые приложения и повторите попытку

Ответ 2

Отключить Instant Run.

Android Studio -> Preferences -> Instant Run

Ответ 3

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

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

Ответ 4

Также у меня та же проблема. Чтобы заставить его работать, мне пришлось удалить "стороннюю библиотеку" из зависимостей. Или попробуйте следующее: https://developer.android.com/tools/building/multidex.html

Ответ 5

Замените это 'compile files (' libs/libGoogleAnalyticsServices.jar ')' с помощью этого 'com.google.android.gms: play-services-analytics: 8.3.0'

Ответ 6

Когда я получил эту ошибку, я использовал Nexus 4 в AVD-Manager. По умолчанию это устройство было создано с внутренней памятью 500 МБ. Я увеличил объем хранилища до 2048 МБ, и ошибка "устаревший dexed" исчезла.

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

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

Ответ 7

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

Android Studio → AVD Manager → Действия → Wipe Data