Инструменты сборки 21.1.2 – НЕОПРЕДЕЛЕННЫЙ ТОП-УРОВЕННЫЙ ИСКЛЮЧИТЕЛЬНЫЙ

Я внезапно сталкиваюсь с этой проблемой при создании / запуске моего проекта.

Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.internal.LoggedErrorException: Failed to run command: /Users/aidanfollestad/Documents/android-sdk/build-tools/21.1.2/dx --dex --no-optimize --output /Users/aidanfollestad/Android Projects/Impression/app/build/intermediates/dex/debug --input-list=/Users/aidanfollestad/Android Projects/Impression/app/build/intermediates/tmp/dex/debug/inputList.txt Error Code: 2 Output: UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536 at com.android.dx.merge.DexMerger$6.updateIndex(DexMerger.java:502) at com.android.dx.merge.DexMerger$IdMerger.mergeSorted(DexMerger.java:277) at com.android.dx.merge.DexMerger.mergeMethodIds(DexMerger.java:491) at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:168) at com.android.dx.merge.DexMerger.merge(DexMerger.java:189) at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454) at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303) at com.android.dx.command.dexer.Main.run(Main.java:246) at com.android.dx.command.dexer.Main.main(Main.java:215) at com.android.dx.command.Main.main(Main.java:106) 

Мой файл Gradle содержит следующее:

 buildscript { repositories { maven { url 'https://maven.fabric.io/public' } } dependencies { classpath 'io.fabric.tools:gradle:1.14.+' } } apply plugin: 'com.android.application' apply plugin: 'io.fabric' apply plugin: 'versionPlugin' android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { applicationId "com.afollestad.impression" minSdkVersion 16 targetSdkVersion 21 versionCode 19 versionName "0.7.0" } } repositories { mavenCentral() maven { url 'https://maven.fabric.io/public' } } dependencies { compile 'com.android.support:appcompat-v7:21.0.+' compile 'com.android.support:recyclerview-v7:21.0.+' compile 'com.koushikdutta.ion:ion:2.0.+' compile 'com.github.chrisbanes.photoview:library:1.2.+' compile 'com.afollestad:material-dialogs:0.4.5' compile 'com.google.android.gms:play-services:6.5.87' compile 'com.google.api-client:google-api-client:1.18.0-rc' compile 'com.google.api-client:google-api-client-android:1.18.0-rc' compile 'com.google.api-client:google-api-client-gson:1.18.0-rc' compile 'com.google.apis:google-api-services-drive:v2-rev152-1.19.0' compile('com.crashlytics.sdk.android:crashlytics:2.1.0@aar') { transitive = true; } } versionPlugin{ buildTypesMatcher = 'release' supportBuildNumber = false fileNameFormat = '$appPkg-v$versionName-$versionCode' } 

Моя библиотека материалов-библиотек ссылается только на AppCompat-v7, ту же версию, на которую ссылается этот файл Gradle. У меня нет JAR в моей папке libs, на которую я ссылаюсь. Я не знаю, какие библиотеки мешают друг другу (кроме возможности Play Services и AppCompat?). Любые идеи или решения?

Я заметил ссылки Ion v4 библиотеки поддержки ( https://github.com/koush/ion/blob/master/ion/build.gradle#L17 ), возможно, это может помешать работе AppCompat?

Попробуйте включить multidex build.gradle:

 android { defaultConfig { ... multiDexEnabled = true } } 

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

Вы можете использовать ограничение 65k методов. Вместо использования multiDex попробуйте использовать Google Play Services с большей детализацией. Следуйте этому руководству , вы можете использовать только те части, которые вы хотите. Вероятно, это устранит вашу проблему.

Это исключение показывает, что ваш проект достиг максимального количества методов 65536. Вы просто делаете ниже работу. Он работал для меня

Шаг 1:
Внутри build.gradle

  defaultConfig { multiDexEnabled = true } 

Шаг 2:

Внутри тега приложения манифеста

  android:name="android.support.multidex.MultiDexApplication" or 

Шаг 3: если вы используете класс, который расширяет приложение, выполните следующие действия:

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

Шаг 4:

Внутри build.gradle

  android{ dexOptions { incremental true javaMaxHeapSize "4g" } } 
Intereting Posts
Вызвано: android.database.sqlite.SQLiteException: нет такой таблицы: (код 1) Android Как использовать новый формат ограничений Android для уменьшения иерархии просмотра Инструменты Visual Studio для Apache Cordova Ошибка, MDAVSCLI не удалось с кодом 8 Проверьте, запущено ли уведомление приложения Возможно ли читать и / или изменять заголовок SMS на Android? Как мы можем протестировать обновления приложений с помощью Calabash? Как узнать, существует ли Streetview, прежде чем запускать намерение Streetview Отказ от поддержки библиотеки v7. Что я не так? Аудио в прямом эфире – Аудио не работает Странная авария на Samsung Galaxy S5 Авторизация Facebook не работает внутри Android Asynctask или Thread Как внедрить постоянные, регулярные, фоновые обновления? Эквивалент времениIntervalSinceReferenceDate в android Могут ли мои эффекты холста HTML5 работать на iPhone или Android? Управление заголовками Action Bar при использовании фрагментов и стоп-кадра