Невозможно добавить Facebook SDK в качестве зависимости в Android Studio

Это ошибка, которую я получаю:

Ошибка: (14, 13) Не удалось устранить: com.facebook.android:facebook-android-sdk:4.6.0 Показать в файле
Показать в диалоговом окне структуры проекта

Я вижу в консоли Gradle, что он ищет lib в локальной библиотеке SDK, хотя я убедился, что флажок «Работать автономно» в настройках Gradle снят.

Вот мой файл build.gradle:

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 {
    }
}

Любые идеи, что я могу сделать?

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


person Gil404    schedule 30.09.2015    source источник


Ответы (2)


вам нужно сделать это в build.grade уровня приложения

buildscript {
    repositories {
        jcenter()
        mavenCentral()

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

и этот в build.grade в папке уровня приложения

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 {
    }
}
person Aakash    schedule 30.09.2015
comment
Привет @Aakash, спасибо за помощь. Можете ли вы уточнить, что такое build.gradle в папке уровня приложения и что такое уровень приложения? - person Gil404; 01.10.2015
comment
проверьте в своей структуре проекта, вы найдете два файла build.gradle, один находится на уровне приложения, а другой - в папке приложения, вот что я имел в виду под уровнем приложения и приложения. - person Aakash; 01.10.2015
comment
в моем проекте есть только один build.gradle, который находится в папке приложения. Где мне найти другого? - person Gil404; 01.10.2015
comment
на уровне приложения, можете ли вы опубликовать скриншот структуры вашего проекта, чтобы я мог объяснить - person Aakash; 01.10.2015
comment
дважды щелкните значок проекта вверху или щелкните правой кнопкой мыши проект и откройте настройки модуля и попробуйте проверить там - person Aakash; 01.10.2015
comment
К сожалению там ничего нет. Я вижу, что у меня нет папки приложения в моем проекте. есть ли способ добавить его? - person Gil404; 01.10.2015
comment
попробуйте проверить рабочее пространство в виде папки вместо студии, вы можете найти его - person Aakash; 01.10.2015

Искал ту же проблему, и приведенный ниже ответ заставил меня задуматься, потому что я всегда использую Charles Proxy во время разработки, и на данный момент он не работает. Когда я снова запустил его, он начал работать с первоначальными настройками.

Просто чтобы поделиться информацией, у меня была такая же проблема, и решение было другим.

В моем случае использовался прокси-сервер, и это вызывает проблему. Мне нужно было настроить параметры прокси-сервера https, как обсуждалось в gradle за прокси-сервером в Android Studio 1.3.

Источник

person Martin Metselaar    schedule 05.10.2015