Intereting Posts
Как установить ProgressBar на центральном экране в рамке? Как создать кнопку изображения в Android? Android SurfaceHolder.unlockCanvasAndPost () не вызывает перерисовку Почему Android игнорирует создание Уведомления? Eclipse Android SDK не может видеть новое устройство Samsung Galaxy S4 через USB-соединение Eclipse сохраняет рабочее пространство … и строительное пространство … и рабочее пространство для строительства Android обнаруживает Bluetooth-разъединение сразу Does PhoneGap / Apache Cordova предлагает API для зашифрованной базы данных SQLite WebViewFragment webView имеет значение null после выполнения FragmentTransaction Не удалось выполнить перезагрузку Android Repo Значок приложения Android размывается Ошибка камеры «Не удается подключиться к камере» или на некоторых телефонах появляется ошибка «Камера используется другим приложением», Как разработать бэкэнд Google App Engine с помощью Android Studio Вкладки ViewPagerIndicator: значки выше текста Как сделать flip / turn / curl эффект страницы в android

НЕОПРЕДЕЛЕННОЕ ТОП-УРОВЕННОЕ ИСКЛЮЧЕНИЕ: com.android.dex.DexException: несколько файлов dex определяют

У меня есть проблема с использованием Google Play Services в моем приложении Android с помощью Android Studio.

Я пробовал все и все еще не работает.

Это ошибка.

Execution failed for task ':app:dexDebug'. 

Com.android.ide.common.internal.LoggedErrorException: Не удалось запустить команду: / Users / jghg / Desktop / My App / Android / SDK / android-sdk-mac_86 / build-tools / 19.0.1 / dx –dex – -output / Users / jghg / Desktop / My App / Eureka / UDA / app / build / libs / app-debug.dex / Пользователи / jghg / Desktop / My App / Eureka / UDA / app / build / classes / debug / Пользователи / Jghg / Desktop / My App / Eureka / UDA / app / build / dependency-cache / debug / Пользователи / jghg / Desktop / My App / Eureka / UDA / app / build / pre-dexed / debug / classes-08979151dd1373bd3f799299d93376d22d4afa46.jar / Пользователи / jghg / Desktop / My App / Eureka / UDA / app / build / pre-dexed / debug / classes-167b9d3c5d689abe004c3fa5b0bcb945d3f0fc8e.jar / Пользователи / jghg / Desktop / Мое приложение / Eureka / UDA / app / build / pre-dexed /debug/google-play-services-ec20f8af7bb457c5095cae1afa0cee722582f198.jar / Пользователи / jghg / Desktop / My App / Eureka / UDA / app / build / pre-dexed / debug / support-v4-13.0.0-473d85b8d55c88bfed3404072e6c132f96543429.jar / Пользователи / Jghg / Desktop / My App / Eureka / UDA / app / build / pre-dexed / debug / support-v4-19.0.1-861cc05365a0e9262c764da37d61e3f93dc16de6.jar / Пользователи / jgh G / Desktop / My App / Eureka / UDA / app / build / pre-dexed / debug / support-v4-19.0.1-dcc11377c764caea791f711123b8b678f876c3b6.jar / Пользователи / jghg / Desktop / My App / Eureka / UDA / app / build / Pre-dexed / debug / twitter4j-async-3.0.5-0904cb320186fb23a9a9bf25a048c5bc4ec07bc2.jar / Пользователи / jghg / Desktop / My App / Eureka / UDA / app / build / pre-dexed / debug / twitter4j-core-3.0.5-41d2d5805e2d90cf77813a126306c4cbe22583ae .jar / Пользователи / jghg / Desktop / My App / Eureka / UDA / app / build / pre-dexed / debug / twitter4j-examples-3.0.5-adc1ee9b037c8061429560e6a5fe89ce8e502db6.jar / Пользователи / jghg / Desktop / My App / Eureka / UDA /app/build/pre-dexed/debug/twitter4j-media-support-3.0.5-37d138cdc631738d13ddb6f4d34c560a9cd8e048.jar / Пользователи / jghg / Desktop / My App / Eureka / UDA / app / build / pre-dexed / debug / twitter4j- Stream-3.0.5-c96c138ea216b25631a1a8b47520ecaf33f288d8.jar Код ошибки: 2 Выход: НЕОПРЕДЕЛЕННЫЙ ТОП-УРОВЕНЬ EXCEPTION: com.android.dex.DexException: несколько файлов dex определяют Lcom / google / ads / AdRequest $ ErrorCode; В com.android.dx.merge.DexMerger.readSortableTypes (DexMerger.java:594) в com.android.dx.merge.DexMerger.getSortedTypes (DexMerger.java:552) в com.android.dx.merge.DexMerger.mergeClassDefs (DexMerger.java:533) в com.android.dx.merge.DexMerger.mergeDexes (DexMerger.java:170) в com.android.dx.merge.DexMerger.merge (DexMerger.java:188) в com.android. Dx.command.dexer.Main.mergeLibraryDexBuffers (Main.java:439) на com.android.dx.command.dexer.Main.runMonoDex (Main.java:287) на com.android.dx.command.dexer.Main. (Main.java:230) на com.android.dx.command.dexer.Main.main (Main.java:199) на com.android.dx.command.Main.main (Main.java:103)

Благодарю. С наилучшими пожеланиями.

Solutions Collecting From Web of "НЕОПРЕДЕЛЕННОЕ ТОП-УРОВЕННОЕ ИСКЛЮЧЕНИЕ: com.android.dex.DexException: несколько файлов dex определяют"

Ошибка возникает, когда у вас есть одна и та же библиотека / каталог, включенная более одного раза в зависимости от вашего build.gradle. Хорошо, допустим, у вас есть структура приложения, которая выглядит так:

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

Итак, у вас есть основное «приложение», а затем у вас есть куча суб-приложений / модулей / библиотек. Библиотеки: 1) gene_test_library , 2) genes_nine_old_androids_library и 3) swipe_list_view_library .

Меня зовут Джин, поэтому есть все эти «генные» библиотеки.

Внутри build.gradle для “app” меня есть:

 dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:21.0.0' compile project(':libraries:gene_test_library') //compile project(':libraries:genes_nine_old_androids_library') compile project(':libraries:swipe_list_view_library') } 

Внутри build.gradle для gene_test_library у меня ничего нет:

 dependencies { } 

Внутри build.gradle для gene_nine_old_androids_library меня есть:

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.0' } 

Внутри build.gradle для swipe_list_view_library меня есть:

 dependencies { compile 'com.nineoldandroids:library:2.4.0+' compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.0' } 

Эта строка compile fileTree(dir: 'libs', include: ['*.jar']) просто означает «эй, загляните в папку« libs »внутри этого модуля для любых файлов jar. У меня нет ничего в папке libs любого из модулей, поэтому вы можете игнорировать эту строку кода.

Итак, допустим, я раскомментирую //compile project(':libraries:genes_nine_old_androids_library') В build.gradle для модуля “app” . Тогда я получу “UNEXPECTED TOP-LEVEL EXCEPTION:” . Почему это?

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

Ну, записывая //compile project(':libraries:genes_nine_old_androids_library') внутри build.gradle для “app” , это то же самое, что и сборка зависимостей модуля “genes_nine_old_androids_library” и помещение его туда. Поэтому, раскомментируя инструкцию //compile project(':libraries:genes_nine_old_androids_library') , build.gradle для модуля «app» становится:

 dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:21.0.0' compile project(':libraries:gene_test_library') ***compile fileTree(dir: 'libs', include: ['*.jar'])*** ***compile 'com.android.support:appcompat-v7:21.0.0'*** compile project(':libraries:swipe_list_view_library') } 

Обратите внимание, как теперь compile 'com.android.support:appcompat-v7:21.0.0' показывает 2x. Вот откуда исходит ошибка.

Ваша библиотека игровых сервисов google экспортируется из других зависимостей вашего проекта и во время компиляции dex компилятор запутывается.

Если вы используете Gradle, то это означает, что в проекте build.gradle следует исключить возможность экспорта библиотеки поддержки в ваш основной проект.

 apply plugin: 'android' apply plugin: 'crashlytics' /** Must exclude exported support jars from dependencies, or get dex duplicate class error. * we're **/ configurations { all*.exclude group: 'com.android.support', module: 'support-v4' all*.exclude group: 'com.google.android.gms', module: 'play-services' } 

Если вы используете систему сборки andoid studio. Затем вы должны перейти в раздел «Файл -> структура проекта и отключить -> модули». Пройдите через каждый модуль и нажмите вкладку зависимости, снимите флажок в столбце экспорта для библиотеки поддержки и библиотеки сервисов Google Play.

Если вам нужна дополнительная помощь, отправьте комментарии.

Это также может произойти, если у вас есть разные версии одной и той же библиотеки, импортированные в build.gradle, а не в одну из ваших библиотек. Например, службы Google Play Store требуют, чтобы все они ссылались на ту же версию, что у меня:

App build.gradle

compile 'com.google.android.gms:play-services-base:7.5.0'

в то время как:

Модуль / библиотека build.gradle

compile 'com.google.android.gms:play-services-cast:7.8.+'

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