Невозможно выполнить dex: идентификатор метода не в [0, 0xffff]: 65536

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

Unable to execute dex: method ID not in [0, 0xffff]: 65536
Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536

или

Cannot merge new index 65950 into a non-jumbo instruction

или

java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536

tl; dr: наконец-то появилось официальное решение от Google!

http://developer.android.com/tools/building/multidex.html

Только один небольшой совет, вам, вероятно, понадобится сделать это, чтобы предотвратить нехватку памяти при выполнении dex-ing.

dexOptions {
        javaMaxHeapSize "4g"
}

Также есть режим jumbo, который может исправить это менее надежным способом:

dexOptions {
        jumboMode true
}

Обновление: если ваше приложение слишком толстое и у вас слишком много методов внутри основного приложения, вам может потребоваться переорганизовать приложение в соответствии с

http://blog.osom.info/2014/12/too-many-methods-in-main-dex.html


person Edison    schedule 04.03.2013    source источник
comment
Вы используете api, который недоступен на вашем устройстве Currient?   -  person rekire    schedule 04.03.2013
comment
Это происходит потому, что сборка другого проекта нацелена на ту же версию API.   -  person Edison    schedule 04.03.2013
comment
Значит, вы в какой-то момент используете недоступный API? Проверяете ли вы строкой типа if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB), что вы не вызываете эту функцию, если она недоступна?   -  person rekire    schedule 04.03.2013
comment
Да, я знаю. Раньше проект строился нормально. Кроме того, это должно быть ошибкой во время выполнения, даже если я пропустил строку.   -  person Edison    schedule 05.03.2013
comment
Вероятно, одна из зависимостей испорчена. (прямо сейчас делаю смесь maven + project lib)   -  person Edison    schedule 05.03.2013
comment
У меня точно такая же проблема. Не могли бы вы рассказать мне, как вы ее решили?   -  person Lily    schedule 05.03.2013
comment
@Edison, возможно ли, что вы а) проголосовали против моего ответа и б) приняли участие в нем, чтобы добавить к вопросу в качестве подсказки (действительно похоже, что он сравнивает время вашего редактирования и моего ответа и моего ответа). Помимо того, что это очень странное поведение, это сайт вопросов и ответов, а НЕ форум, ответы НЕ должны быть в вопросе, если вы думаете, что у вас есть ответ, ответьте на свой вопрос, а затем обновите его (вот как это должно быть сделано )   -  person Patrick Favre    schedule 28.02.2015
comment
Я добавил базу подсказок на собственном опыте, и я не проголосовал за ваш ответ, и я проголосовал за большинство старых ответов, я не проголосовал за ваш, потому что я чувствовал, что вы просто пытаетесь резюмировать остальную часть страницы, но не идеально, потому что люди действительно должны просто следить за официальной страницей. Я бы не стал жертвовать ради этого ни очком.   -  person Edison    schedule 02.03.2015
comment
Кроме того, это НЕ ПРОСТО сайт вопросов и ответов, это сайт, который помогает людям. Поэтому я не согласен с тем, что ответов не должно быть в вопросе, если я считаю, что больше людей сочтут это полезным. Вы не должны соглашаться со мной в этом, но я думаю, что многие люди находят это полезным, и многие вопросы задаются таким образом, мы все пытаемся помочь людям лучше. re: @ for3st   -  person Edison    schedule 02.03.2015
comment
Jumbo-режим @Edison dexOptions не влияет на индексы методов (хотя он может помочь, когда в dex-файле слишком много строк), поэтому я бы предложил удалить это, чтобы избежать путаницы и введения в заблуждение.   -  person Alex Lipov    schedule 08.03.2016


Ответы (12)


Обновление 3 (3 ноября 2014 г.)
Google наконец-то опубликовал официальное описание .


Обновление 2 (31.10.2014)
плагин Gradle v0.14.0 для Android
добавляет поддержку для multi-dex. Чтобы включить, вам просто нужно объявить его в build.gradle:

android {
   defaultConfig {
      ...
      multiDexEnabled  true
   }
}

Если ваше приложение поддерживает Android до 5.0 (то есть, если ваш minSdkVersion равен 20 или ниже), вам также необходимо динамически исправить приложение ClassLoader, чтобы оно могло загружать классы из вторичных дескрипторов. К счастью, есть библиотека, которая сделает это за вас. Добавьте его в зависимости вашего приложения:

dependencies {
  ...
  compile 'com.android.support:multidex:1.0.0'
} 

Вам нужно как можно скорее вызвать код патча ClassLoader. документация MultiDexApplication класса предлагает три способа сделать это (выберите один из них < / strong>, наиболее удобный для вас):

1 - Объявите класс MultiDexApplication как приложение в вашем AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android.multidex.myapplication">
    <application
        ...
        android:name="android.support.multidex.MultiDexApplication">
        ...
    </application>
</manifest>

2 - Сделайте так, чтобы ваш класс Application расширил класс MultiDexApplication:

public class MyApplication extends MultiDexApplication { .. }

3 - Вызов MultiDex#install из вашего Application#attachBaseContext метода:

public class MyApplication {
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
        ....
    }
    ....
}

Обновление 1 (17.10.2014):
Как и ожидалось, поддержка multidex входит в 21 версию библиотеки поддержки Android. Вы можете найти android-support-multidex.jar в папке / sdk / extras / android / support / multidex / library / libs.


Поддержка Multi-dex решает эту проблему. dx 1.8 уже позволяет генерировать несколько файлов dex.
Android L будет изначально поддерживать multi-dex, а следующая версия библиотеки поддержки будет охватывать более старые выпуски обратно до API 4.

Об этом было сказано в этом выпуске подкаста Android Developers Backstage Анвара Гулума. Я опубликовал стенограмму (и общую -dex пояснение) соответствующей части.

person Alex Lipov    schedule 04.10.2014
comment
сообщение в блоге - это заставка! : D - person nadavfima; 19.10.2014
comment
Пометить это как ответ на момент этого комментария. - person Edison; 20.10.2014
comment
Привет, Алекс, спасибо за всю информацию. Сегодня я попытался мультиплексировать свое приложение в соответствии с новой документацией Google, и оно отлично компилируется, но при запуске я получаю следующее исключение: java.lang.RuntimeException: невозможно создать экземпляр приложения android.support.multidex.MultiDexApplication: java.lang .ClassNotFoundException: не удалось найти класс android.support.multidex.MultiDexApplication на пути: DexPathList Вызвано: java.lang.ClassNotFoundException: не удалось найти класс android.support.multidex.MultiDexApplication на пути: - person Roberto Betancourt; 04.11.2014
comment
@dustedrob Вы добавили библиотеку поддержки как зависимость? - person Alex Lipov; 04.11.2014
comment
Я сделал: скомпилировал com.android.support:multidex:1.0.0 и скомпилировал com.android.support:appcompat-v7:21.0.0. Я убедился, что у меня установлена ​​последняя версия библиотеки поддержки 8 - person Roberto Betancourt; 04.11.2014
comment
Я установил последнюю версию 21.0.1 библиотеки поддержки Android с помощью Android SDK Manager. Затем я перезапустил Luna Eclipse и попытался запустить свой проект, он по-прежнему вызывает у меня ту же проблему. Пожалуйста, помогите мне решить мою проблему. - person Sri Krishna; 05.11.2014
comment
это решение для студии Android или eclipse, у меня такая же проблема, и я использую eclipse juno - person Lokesh; 07.11.2014
comment
Только @Lokesh Android Studio. Что касается затмения, см. Мой ответ здесь: stackoverflow.com/a/26556209/1233652 - person Alex Lipov; 07.11.2014
comment
Если вы используете Android Studio, убедитесь, что это версия не ниже 0.9. - person pkramaric; 01.12.2014
comment
Что-нибудь для пользователей eclipse? - person Muhammad Babar; 24.02.2015
comment
@AlexLipov Evers Поскольку я добавил эту опцию, я продолжаю получать сбой при NoClassDefFoundError для большинства моих функций везде в коде. Что произошло? Я использую Android Studio 1.1.0 - person Muhammad Umar; 05.04.2015
comment
@MuhammadUmar Посмотрите, поможет ли это: stackoverflow.com/questions/26655541. Если это не так, опубликуйте трассировку стека. Вы используете плагин multiDexEnabled = true или добавляете параметры dx вручную? - person Alex Lipov; 05.04.2015
comment
@AlexLipov Я использовал multiDexEnabled = true - person Muhammad Umar; 05.04.2015
comment
@MuhammadUmar, можете ли вы опубликовать трассировку стека (на внешнем ресурсе, например, privatepaste.com и разместить ссылку здесь)? - person Alex Lipov; 05.04.2015
comment
privatepaste.com/8e81fecf14 проверьте это. Я получаю NoClassDefFoundError в новом GetAllContacts (). Execute () ;. Нет другой информации о stackTrace, кроме этой ошибки. Его чрезвычайно простой код. Если я прокомментирую это, есть много других мест, где я получаю ту же ошибку - person Muhammad Umar; 05.04.2015
comment
@MuhammadUmar Начните с проверки того, что ваш класс GetAllContacts указан в maindexlist (/app/build/intermediates/multi-dex/{debug/release}/maindexlist.txt). Также поищите предупреждения верификатора в logcat (dalvikvm с тегом VFY). - person Alex Lipov; 05.04.2015
comment
@MuhammadBabar Есть Android-студия для пользователей Eclipse. - person VipulKumar; 14.05.2015
comment
Недостатком добавления Multi-Dex является то, что время сборки значительно увеличивается. Мое время сборки увеличилось до 4 минут после включения Multi-Dex. Лучше всего этого избежать (например, путем выборочной компиляции API сервисов Google Play в свое приложение, см. developers.google. ru / android / guides / setup). - person Mohammed Ali; 15.08.2015
comment
@MohammedAli Конечно, не используйте его, если можете. Но что делать, если у вас действительно слишком много методов в приложении, и вы уже испробовали все уловки, подобные упомянутому? Что касается времени сборки - для этого есть решение, по крайней мере, для сборок разработки - см. Мой ответ здесь: stackoverflow.com/a/30799491/1233652 - person Alex Lipov; 15.08.2015
comment
Благодарность! вся система сборки google - это работа. - person Iman Akbari; 16.09.2015
comment
Как это работает для пользователей Maven? Как мне сгенерировать основной список dex через maven? - person New Guy; 22.09.2015
comment
привет, @Alex Lipov После multiDexEnabled = true в моем файле gradle на моем устройстве samsung galaxy edge - ›запускается аккуратно, но на других устройствах он генерирует фатальную ошибку, класс не найден .. так что какое-либо решение для этого? - person Joseph Mekwan; 30.09.2015
comment
@JosephMekwan В SO есть много вопросов, связанных с ClassNotFound / multidex - ищите их. Если вы не можете найти что-то, что решает вашу проблему, задайте новый вопрос. - person Alex Lipov; 30.09.2015
comment
Для пользователей eclipse после добавления jar-файла в библиотеки обратите внимание на это Также все проекты jar / библиотек, которые использует ваш проект, должны иметь только 1 копию и не должны иметь транзитивных зависимостей. Вы можете убедиться в этом, просмотрев все jar-файлы в каталоге bin / dexedLibs вашего проекта. В нем должно быть только по 1 экземпляру каждой банки. - person Sheraz Ahmad Khilji; 30.09.2015
comment
На Qt для Android у меня были проблемы во время выполнения моего приложения при интеграции пакетов SDK Facebook + Twitter вместе, даже после включения поддержки multidex (эта ошибка, в частности, вызвала у меня кошмары: java.lang.ClassNotFoundException: Didn't find class "org.qtproject.qt5.android.QtActivityDelegate" on path: DexPathList[[],nativeLibraryDirectories=[/vendor/lib, /system/lib]]). Оказалось, что моя ошибка заключалась в том, что я не применял дополнительные шаги для поддержки Android до версии 5.0. С учетом сказанного, вариант №3 решил это, и у меня больше не было ClassNotFoundException проблем. Спасибо, @Alex Lipov! - person rob; 13.11.2015
comment
если вы хотите узнать больше о том, что здесь произошло, попробуйте прочитать это: medium.com/@rotxed/. - person Fernando Bustos; 27.11.2015
comment
Это решило мою проблему, спасибо. Но я хочу знать причину, по которой это произошло, и как этот фрагмент кода решил проблему. - person viper; 28.03.2017
comment
@viper Вы читали официальную документацию, которую я упомянул в своем ответе? ? - person Alex Lipov; 28.03.2017
comment
Просто слепо вставил фрагменты кода из этого ответа в соответствующие файлы, и это сработало как шарм. - person Rocky Inde; 29.04.2017

Как уже говорилось, у вас слишком много методов (более 65 КБ) в вашем проекте и библиотеках.

Предотвратите проблему: сократите количество методов с помощью Play Services 6.5+ и support-v4 24.2+

Поскольку часто сервисы Google Play являются одними из главных подозреваемых в "трате зря" с его 20 тыс. + методы. Сервисы Google Play версии 6.5 или новее, вы можете включить Сервисы Google Play в вашем приложении, использующие несколько меньших клиентских библиотек. Например, если вам нужны только GCM и карты, вы можете использовать только эти зависимости:

dependencies {
    compile 'com.google.android.gms:play-services-base:6.5.+'
    compile 'com.google.android.gms:play-services-maps:6.5.+'
}

Полный список вспомогательных библиотек и их обязанности можно найти в официальном документе Google.

Обновление. Начиная с версии Support Library v4 v24.2.0, она была разделена на следующие модули:

support-compat, support-core-utils, support-core-ui, support-media-compat и support-fragment

dependencies {
    compile 'com.android.support:support-fragment:24.2.+'
}

Однако обратите внимание: если вы используете support-fragment, он будет иметь зависимости от всех других модулей (т.е. если вы используете android.support.v4.app.Fragment, пользы нет)

См. здесь официальные примечания к выпуску support-v4 lib


Включить MultiDexing

Начиная с Lollipop (также известного как инструменты сборки 21+), с ним очень легко работать. Подход состоит в том, чтобы обойти проблему 65k методов на файл dex, чтобы создать несколько файлов dex для вашего приложения. Добавьте следующее в свой файл сборки gradle (это взято из официального документа Google для приложений с дополнительными чем 65к методов):

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.0"

    defaultConfig {
        ...
        // Enabling multidex support.
        multiDexEnabled true
    }
    ...
}

dependencies {
  compile 'com.android.support:multidex:1.0.1'
}

Второй шаг - либо подготовить класс приложения, либо, если вы не расширяете приложение, используйте MultiDexApplication в своем манифесте Android:

Либо добавьте это в свой Application.java

@Override
  protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
  }

или используйте предоставленное приложение из библиотеки mutlidex.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android.myapplication">
    <application
        ...
        android:name="android.support.multidex.MultiDexApplication">
        ...
    </application>
</manifest>

Предотвратить OutOfMemory с помощью MultiDex

В качестве дополнительного совета, если вы столкнетесь с OutOfMemory исключениями на этапе сборки, вы можете увеличить кучу с помощью

android {
    ...
    dexOptions {
        javaMaxHeapSize "4g"
    }
}

что установило бы размер кучи в 4 гигабайта.

См. этот вопрос для получения более подробной информации о проблеме памяти кучи dex. .


Проанализировать источник проблемы

Чтобы проанализировать источник методов, плагин gradle https://github.com/KeepSafe/dexcount-gradle-plugin может помочь в сочетании с деревом зависимостей, предоставляемым gradle, например

.\gradlew app:dependencies

См. этот ответ и вопрос для получения дополнительной информации о количестве методов в Android

person Patrick Favre    schedule 19.02.2015
comment
Я использовал решение Play Services 6.5+, и оно отлично работало. Невероятный полезный совет. Огромное спасибо! - person Hoang Nguyen Huu; 23.04.2015
comment
Я бы проголосовал за больше, если бы мог - исключение всех других вещей Play Services, которые мы не использовали, решило эту проблему, без необходимости прибегать к multi-dex, что имеет негативные последствия для производительности при сборке. - person Sean Barbeau; 07.08.2015
comment
Чем ты столько со слезами на глазах. Вы спасли меня - person insomniac; 16.08.2015
comment
Я использовал клиентскую библиотеку для GCM, потому что я использую только службу gcm из службы воспроизведения, теперь она устранила мою проблему с этим. Спасибо! чтобы сэкономить время. - person Ankit; 25.08.2016

Ваш проект слишком велик. У вас слишком много методов. В одном приложении может быть только 65536 методов. см. здесь https://code.google.com/p/android/issues/detail?id=7147#c6

person blobbie    schedule 11.03.2013
comment
Понятно. У меня есть много зависимостей для этого проекта. Он работал нормально, прежде чем я перешел на использование maven, возможно, maven добавила ненужные зависимости. Будет дважды проверять. - person Edison; 11.03.2013
comment
Чтобы быть более конкретным, в исполняемом (dex) файле Dalvik может быть только 65 536 методов. И приложение (APK) может иметь более одного dex-файла с такими вещами, как настраиваемая загрузка. - person Dennis Sheil; 30.05.2013
comment
Это действительно досадный баг для андроида! В любом случае, в моем случае я удалил Jar, который был в библиотеках и не использовался, и приложение скомпилировано - person David; 08.06.2014
comment
Пора очистить мой проект: / - person Decoy; 24.06.2014
comment
Быстрое решение - использовать Proguard также с отладочными сборками. - person aleb; 08.07.2014

Приведенный ниже код помогает, если вы используете Gradle. Позволяет легко удалить ненужные службы Google (при условии, что вы их используете), чтобы вернуться ниже порогового значения в 65 тыс. Все кредиты этому сообщению: https://gist.github.com/dmarcato/d7c91b94214acd936e42

Изменить 2014-10-22: по сути, упомянутой выше, было много интересных дискуссий. TL; DR? посмотрите на это: https://gist.github.com/Takhion/10a37046b9e6d259bb31

Вставьте этот код в конец файла build.gradle и настройте список служб Google, которые вам не нужны:

def toCamelCase(String string) {
    String result = ""
    string.findAll("[^\\W]+") { String word ->
        result += word.capitalize()
    }
    return result
}

afterEvaluate { project ->
    Configuration runtimeConfiguration = project.configurations.getByName('compile')
    ResolutionResult resolution = runtimeConfiguration.incoming.resolutionResult
    // Forces resolve of configuration
    ModuleVersionIdentifier module = resolution.getAllComponents().find { it.moduleVersion.name.equals("play-services") }.moduleVersion

    String prepareTaskName = "prepare${toCamelCase("${module.group} ${module.name} ${module.version}")}Library"
    File playServiceRootFolder = project.tasks.find { it.name.equals(prepareTaskName) }.explodedDir

    Task stripPlayServices = project.tasks.create(name: 'stripPlayServices', group: "Strip") {
        inputs.files new File(playServiceRootFolder, "classes.jar")
        outputs.dir playServiceRootFolder
        description 'Strip useless packages from Google Play Services library to avoid reaching dex limit'

        doLast {
            copy {
                from(file(new File(playServiceRootFolder, "classes.jar")))
                into(file(playServiceRootFolder))
                rename { fileName ->
                    fileName = "classes_orig.jar"
                }
            }
            tasks.create(name: "stripPlayServices" + module.version, type: Jar) {
                destinationDir = playServiceRootFolder
                archiveName = "classes.jar"
                from(zipTree(new File(playServiceRootFolder, "classes_orig.jar"))) {
                    exclude "com/google/ads/**"
                    exclude "com/google/android/gms/analytics/**"
                    exclude "com/google/android/gms/games/**"
                    exclude "com/google/android/gms/plus/**"
                    exclude "com/google/android/gms/drive/**"
                    exclude "com/google/android/gms/ads/**"
                }
            }.execute()
            delete file(new File(playServiceRootFolder, "classes_orig.jar"))
        }
    }

    project.tasks.findAll { it.name.startsWith('prepare') && it.name.endsWith('Dependencies') }.each { Task task ->
        task.dependsOn stripPlayServices
    }
}
person mcm    schedule 25.09.2014
comment
Любить это! def необходим, поскольку такие компании, как Google, продолжают раздувать пакеты. - person Edison; 26.09.2014
comment
Хорошо - это сделало свою работу на высоте. Никаких хлопот и беспокойства! - person slott; 29.09.2014
comment
Примечание: это удаленные jar-файлы сервисов Google Play в моем Android SDK в Android Studio! Плохая идея, так как вернуться к исходным банкам непросто. Автор должен изменить сценарий, чтобы изменить файлы jar в каталоге сборки. - person inder; 02.10.2014
comment
@inder: У меня не было этой проблемы. Однако мне приходилось делать clean каждый раз, когда я обезьянничал с исключениями (мы используем аналитику). - person JohnnyLambada; 22.10.2014
comment
как исключить это из сборок релиза? - person user1324936; 09.11.2014
comment
На себя не работал, получил Error:Gradle: Execution failed for task ':myapp:compileDevDebugJava'. > Compilation failed; see the compiler error output for details. /Users/eric/tmp/myapp/android/MyApp/myapp/src/main/java/com/myapp/data/core/ChannelAnalyticDataHelper.java Error:(14, 36) Gradle: package com.google.android.gms.games does not exist - person ericn; 05.01.2015

Я поделился образцом проекта, который решает эту проблему, используя скрипт сборки custom_rules.xml и несколько строк кода.

Я использовал его в своем собственном проекте, и он безупречно работает на более чем 1 млн устройств (от Android-8 до последней версии Android-19). Надеюсь, это поможет.

https://github.com/mmin18/Dex65536

person mmin    schedule 08.03.2014
comment
Спасибо за скрипты. вам следует остерегаться АРТ. Устройство может конвертировать только ваш dex по умолчанию, но не второстепенные. Следует отдавать предпочтение решениям Proguard. - person Edison; 31.03.2014
comment
Когда я импортирую проекты в Eclipse и запускаю, он выдает ошибку. Невозможно выполнить dex: идентификатор метода не в [0, 0xffff]: 65536. Можете ли вы объяснить использование проекта - person Karacago; 03.07.2014

Столкнулся с той же проблемой и решил ее, отредактировав файл build.gradle в разделе зависимостей, удалив:

compile 'com.google.android.gms:play-services:7.8.0'

И заменив его:

compile 'com.google.android.gms:play-services-location:7.8.0'
compile 'com.google.android.gms:play-services-analytics:7.8.0' 
person Luis Miguel Ballestas    schedule 19.08.2015
comment
Идеально! Я просто использую API Google Диска, и это работает. - person vedavis; 03.09.2015

Попробуйте добавить ниже код в build.gradle, у меня это сработало -

compileSdkVersion 23
buildToolsVersion '23.0.1'
defaultConfig {
    multiDexEnabled true
}
person Sunita    schedule 03.11.2015

Идеальным решением для этого будет работа с Proguard. как упомянул Алеб в комментарии. Это уменьшит размер файла dex вдвое.

person shimi_tap    schedule 31.07.2014
comment
Согласен, особенно с постоянно растущим jar сервисов Google Play * (18k методов само по себе) - person Edison; 31.07.2014

Вы можете проанализировать проблему (ссылки на файлы dex) с помощью Android Studio:

Сборка -> Анализировать APK ..

На панели результатов щелкните файл classes.dex

И вы увидите:

введите здесь описание изображения

person alexshr    schedule 03.06.2017

решение gradle + proguard:

afterEvaluate {
  tasks.each {
    if (it.name.startsWith('proguard')) {
        it.getInJarFilters().each { filter ->
            if (filter && filter['filter']) {
                filter['filter'] = filter['filter'] +
                        ',!.readme' +
                        ',!META-INF/LICENSE' +
                        ',!META-INF/LICENSE.txt' +
                        ',!META-INF/NOTICE' +
                        ',!META-INF/NOTICE.txt' +
                        ',!com/google/android/gms/ads/**' +
                        ',!com/google/android/gms/cast/**' +
                        ',!com/google/android/gms/games/**' +
                        ',!com/google/android/gms/drive/**' +
                        ',!com/google/android/gms/wallet/**' +
                        ',!com/google/android/gms/wearable/**' +
                        ',!com/google/android/gms/plus/**' +
                        ',!com/google/android/gms/topmanager/**'
            }
        }
    }
  }
}
person Oleg Khalidov    schedule 22.10.2014

Удалите какой-то файл jar из папки Libs и скопируйте в другую папку, и перейдите в _Project Properties> Выберите путь сборки Java, выберите библиотеки, выберите Добавить внешний файл Jar, выберите удаленный файл jar в свой проект, нажмите кнопку сохранить, он будет добавлен в разделе Ссылки Библиотека вместо папки Libs. Теперь очистите и запустите свой проект. Вам не нужно добавлять какой-либо код для MultDex. Это просто сработало для меня.

person Lakshmanan    schedule 04.11.2015

Сегодня я столкнулся с той же проблемой, что работало ниже

Для ANDROID STUDIO ... Включить мгновенный запуск

В File-> Preferences-> Build, Execution, Deployment-> Instant Run-> Check Enable Instant run for hot swap ...

Надеюсь, это поможет

person Abdul Waheed    schedule 10.10.2017
comment
У меня это сработало - я просто отключил «Включить запуск», нажал «Применить», снова включил его, и он снова заработал. - person MrBigglesworth; 21.03.2018