Próbuję użyć zestawu SDK Facebooka w projekcie w Android Studio. Postępuję zgodnie z krokiem 3 poradnika this. Kiedy próbuję uruchomić aplikację, otrzymuję komunikat "Gradle: wykonanie nie powiodło się dla zadania": FacebookApp: dexDebug "." błąd. Poniżej jest wyjście jeśli błądBłąd kompilacji Gradle podczas próby użycia Facebook SDK
Gradle: Execution failed for task ':FacebookApp:dexDebug'.
Failed polecenie Run: 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 \ FacebookAppProjectLibliotekiFacebookUnspecified.aar \ classes.jar C: \ Users \ Brandon \ AndroidStudioProjects \ FacebookAppProject \ FacebookApp \ build \ exploded-bundles \ FacebookAppProjectLibrariesFacebookUnspeci fied.aar \ libs \ android-support-v4.jar C: \ android-sdk \ dodatki \ android \ m2repository \ com \ android \ support \ support-v4 \ 13.0.0 \ support-v4-13.0.0.jar Kod błędu: Wyjście: WYJĄTKOWY WYJĄTKOWY POZIOM WYJĄTKOWY: java.lang.IllegalArgumentException: already added: Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat $ AccessibilityServiceInfoIcsImpl; na com.android.dx.dex.file.ClassDefsSection.add (ClassDefsSection.java:123) na com.android.dx.dex.file.DexFile.add (DexFile.java:163) na com.android. dx.command.dexer.Main.processClass (Main.java: 490) na com.android.dx.command.dexer.Main.processFileBytes (Main.java:459) na com.android.dx.command.dexer. Main.access 400 USD (Main.java:67) na com.android.dx.command.dexer.Main $ 1.processFileBytes (Main.java:398) na com.android.dx.cf.direct.ClassPathOpener.processArchive (ClassPathOpener.java:245) na com.android.dx.cf.direct.ClassPathOpener.processOne (ClassPathOpener.java:131) na com.android.dx.cf.direct.ClassPathOpener.process (ClassPathOpener.java:109) na com.android.dx .command.dexer.Main.processOne (Main.java:422) na com.android.dx.command.dexer.Main.processAllFiles (Main.java:333) na com.android.dx.command.dexer.Main .run (Main.java:209) na com.android.dx.command.dexer.Main.main (Main.java:174) na com.android.dx.command.Main.main (Main.java:91) 1 błąd; przerywanie
Oto build.gradle dla modułu 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']
}
}
}
A build.gradle dla projektu:
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
}
}
Czy robię coś źle?
Jeśli na początku to nie działa, (tylko w Androidzie) Przejdź do Plik> Unieważnij pamięć podręczną/Uruchom ponownie> następnie "Unieważnij i uruchom ponownie" –
@Greg: Moja biblioteka ma plik 'android-support-v4.jar' . Tak więc w 'build.gradle' tej biblioteki powinna pozostać ta linia' compile fileTree (dir: 'libs', include: '* .jar') 'lub nie, jeśli dodasz' Library Depency' przez maven, wybierz 'Android-support -v4'? –