Unable to add Facebook SDK as a dependency in Android Studio

时间:2015-09-30 23:09:04

标签: android android-studio gradle build.gradle facebook-sdk-4.0

This is the error I am getting:

Error:(14, 13) Failed to resolve: com.facebook.android:facebook-android-sdk:4.6.0 Show in File
Show in Project Structure dialog

I can see in the Gradle console that it is looking for the lib in the local SDK library, although I made sure that the Work Offline checkbox in the gradle settings is unchecked.

Here is my build.gradle file:

buildscript {
    repositories {
        jcenter()
        mavenCentral()

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


apply plugin: 'com.android.application'

dependencies {
    compile fileTree(include: '*.jar', dir: 'libs')
    compile 'com.facebook.android:facebook-android-sdk:4.6.0'
    compile 'com.google.android.gms:play-services-identity:8.1.0'
    compile 'com.google.android.gms:play-services-gcm:8.1.0'
}

android {
    compileSdkVersion 23
    buildToolsVersion '23.0.1'
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')

        // Move the build types to build-types/<type>
        // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
        // This moves them out of them default location under src/<type>/... which would
        // conflict with src/ being used by the main source set.
        // Adding new build types or product flavors should be accompanied
        // by a similar customization.
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
    defaultConfig {
        targetSdkVersion 23
    }
    productFlavors {
    }
}

Any ideas what can I do?

enter image description here

2 个答案:

答案 0 :(得分:1)

you need to do this in build.grade of application level

buildscript {
    repositories {
        jcenter()
        mavenCentral()

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

and this one in build.grade at app level folder

apply plugin: 'com.android.application'

dependencies {
    compile fileTree(include: '*.jar', dir: 'libs')
    compile 'com.facebook.android:facebook-android-sdk:4.6.0'
    compile 'com.google.android.gms:play-services-identity:8.1.0'
    compile 'com.google.android.gms:play-services-gcm:8.1.0'
}

android {
    compileSdkVersion 23
    buildToolsVersion '23.0.1'
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')

        // Move the build types to build-types/<type>
        // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
        // This moves them out of them default location under src/<type>/... which would
        // conflict with src/ being used by the main source set.
        // Adding new build types or product flavors should be accompanied
        // by a similar customization.
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
    defaultConfig {
        targetSdkVersion 23
    }
    productFlavors {
    }
}

答案 1 :(得分:0)

正在寻找同样的问题,下面的回答让我思考,因为我在开发过程中总是使用Charles Proxy,而且目前它还没有运行。当我再次启动它时,它开始使用初始设置。

  

只是为了分享信息,我遇到了同样的问题而解决方案是   不同。

     

就我而言,使用了代理服务器并导致了问题。我需要   配置https代理设置,如代理后面的gradle中所述   在Android Studio 1.3中。

Source