Ошибка сборки сборок при попытке использования Facebook SDK

Я пытаюсь использовать SDK для Facebook в проекте в Android Studio. Я следую шагу 3 этого урока. Когда я пытаюсь запустить приложение, я получаю сообщение «Gradle: Execution failed for task»: FacebookApp: dexDebug '. " ошибка. Ниже приведен вывод, если ошибка

Gradle: Execution failed for task ':FacebookApp:dexDebug'. 

Не удалось выполнить команду: C: \ android-sdk \ build-tools \ 18.0.0 \ dx.bat –dex –output C: \ Users \ Brandon \ AndroidStudioProjects \ FacebookAppProject \ FacebookApp \ build \ libs \ FacebookApp-debug. Dex C: \ Users \ Brandon \ AndroidStudioProjects \ FacebookAppProject \ FacebookApp \ build \ classes \ debug C: \ Users \ Brandon \ AndroidStudioProjects \ FacebookAppProject \ FacebookApp \ build \ dependency-cache \ debug C: \ Users \ Brandon \ AndroidStudioProjects \ FacebookAppProject \ FacebookApp \ build \ exploded-bundles \ FacebookAppProjectLibrariesFacebookUnspecified.aar \ classes.jar C: \ Users \ Brandon \ AndroidStudioProjects \ FacebookAppProject \ FacebookApp \ build \ exploded-bundles \ FacebookAppProjectLibrariesFacebookUnspecified.aar \ libs \ android-support-v4.jar C: \ Android-sdk \ extras \ android \ m2repository \ com \ android \ support \ support-v4 \ 13.0.0 \ support-v4-13.0.0.jar Код ошибки: 1 Выход: НЕОПРЕДЕЛЕННЫЙ ТОП-УРОВЕНЬ ИСКЛЮЧЕНИЯ: java.lang.IllegalArgumentException : Уже добавлено: Landroid / support / v4 / accessibilityservice / AccessibilityServiceInfoCompat $ AccessibilityServiceI nfoIcsImpl; На com.android.dx.dex.file.ClassDefsSection.add (ClassDefsSection.java:123) в com.android.dx.dex.file.DexFile.add (DexFile.java:163) на com.android.dx.command .dexer.Main.processClass (Main.java:490) на com.android.dx.command.dexer.Main.processFileBytes (Main.java:459) на com.android.dx.command.dexer.Main.access $ 400 ( Main.java:67) на com.android.dx.command.dexer.Main $ 1.processFileBytes (Main.java:398) в com.android.dx.cf.direct.ClassPathOpener.processArchive (ClassPathOpener.java:245) на Com.android.dx.cf.direct.ClassPathOpener.processOne (ClassPathOpener.java:131) в com.android.dx.cf.direct.ClassPathOpener.process (ClassPathOpener.java:109) на com.android.dx.command. Dexer.Main.processOne (Main.java:422) на com.android.dx.command.dexer.Main.processAllFiles (Main.java:333) на com.android.dx.command.dexer.Main.run (Main. Java: 209) на com.android.dx.command.dexer.Main.main (Main.java:174) на com.android.dx.command.Main.main (Main.java:91) 1 ошибка; отбрасывание

Вот пример build.gradle для модуля facebook:

 buildscript { repositories { maven { url 'http://repo1.maven.org/maven2' } } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' } } apply plugin: 'android-library' dependencies { compile files('libs/android-support-v4.jar') } android { compileSdkVersion 18 buildToolsVersion "18.0.0" defaultConfig { minSdkVersion 7 targetSdkVersion 16 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] } } } 

И build.gradle для проекта:

 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' } } apply plugin: 'android' repositories { mavenCentral() } dependencies { compile 'com.android.support:support-v4:13.0.+' compile project(':libraries:facebook') } android { compileSdkVersion 18 buildToolsVersion "18.0.0" defaultConfig { minSdkVersion 7 targetSdkVersion 16 } } 

Я делаю что-то неправильно?

Solutions Collecting From Web of "Ошибка сборки сборок при попытке использования Facebook SDK"

Вы дважды добавляете библиотеку поддержки Android, что приводит к конфликту с объединением dex. Ваш основной проект относится к библиотеке maven с 'com.android.support:support-v4:13.0.+' и ваш проект в Facebook ссылается на него с files('libs/android-support-v4.jar') . Gradle не может разрешать конфликты между локальными файлами jar, поэтому вы должны обращаться к ним через maven.

Измените раздел dependencies вашего Facebook build.gradle на:

 dependencies { compile 'com.android.support:support-v4:13.0.+' } 

И все должно работать.

В студии Android это включает в себя библиотеку поддержки и SDK для facebook. Я поддерживаю API 15+.

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'fr.avianey:facebook-android-api:+@aar' compile 'com.android.support:support-v13:20.0.0' ... } 

У меня была аналогичная проблема, и с моей стороны это был просто промах. У меня были конфликтующие версии com.android.tools.build:gradle:1.1.2 и 1.1.1 внутри двух разных файлов gradle.build.

Приложение / gradle.build

 dependencies { ... compile 'com.android.tools.build:gradle:1.1.2' ... } 

Верхний уровень gradle.build

 dependencies { classpath 'com.android.tools.build:gradle:1.1.0' } 

Я прокомментировал строку в файле gradle.build моего проекта, gradle.build gradlew clean из командной строки, перезапустил Android Studio, а затем порядок был восстановлен во вселенной.