0

Facebookの公式開発者サイトでこのガイドに従いました:

https://developers.facebook.com/docs/getting-started/facebook-sdk-for-android-using-android-studio/3.0/

そして、最初のサンプルアプリをビルドしようとすると、エラーが発生します:

Gradle: Error while executing dx command
Gradle: UNEXPECTED TOP-LEVEL EXCEPTION:
Gradle: java.lang.IllegalArgumentException: already added: Landroid/support/v4/widget/CursorAdapter$1;
Gradle: at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
Gradle: at com.android.dx.dex.file.DexFile.add(DexFile.java:163)
Gradle: at com.android.dx.command.dexer.Main.processClass(Main.java:490)
Gradle: at com.android.dx.command.dexer.Main.processFileBytes(Main.java:459)
...
Gradle: 1 error; aborting
Gradle: Execution failed for task ':abcd:dexDebug'.

facebook SDK に android-support-v4 が含まれているために発生すると思いますが、私のプロジェクトにもそれを含めたいと思っていたので、削除しようとしましたが、役に立ちませんでした。

私のプロジェクトのビルド gradle:

buildscript {
repositories {
    mavenCentral()
}
dependencies {
    classpath 'com.android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 18
    buildToolsVersion "18.0.1"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:18.0.0'
    compile project(':libraries:facebook')
}

facebook の SDK ビルド gradle は、リンク先のマニュアルと同じです。

4

1 に答える 1

3

同様の問題がありました.私にとっては、あなたもそうであるように見えるサポートSDKの外部ライブラリバージョンを使用していたためです。同じサポート ライブラリを使用するには、facebook ライブラリの build.gradle ファイルを編集する必要があります。

依存関係{

compile 'com.android.support:appcompat-v7:18.0.0'
//compile files('libs/android-support-v4.jar')  - As outlined by Facebook

}

お役に立てれば。

于 2013-09-25T08:46:25.827 に答える