Android Studio 0.8.1 — как использовать Facebook SDK?

Я пробовал через import module, но всегда получаю

Error:(13, 0) Could not find property 'ANDROID_BUILD_MIN_SDK_VERSION' on project ':facebook'.

Я не нашел руководства по использованию Facebook SDK с последней версией Android Studio...


person swalkner    schedule 28.06.2014    source источник
comment
TL;ДР; Перейдите к ответу Тома Редмана и наслаждайтесь. И, пожалуйста, проголосуйте за его ответ, так как он определенно правильный на сегодняшний день.   -  person florian    schedule 25.01.2015
comment
возможный дубликат с использованием facebook sdk в студии Android   -  person SBerg413    schedule 08.04.2015
comment
Этот ответ помог мне решить проблему: stackoverflow.com/questions/29581771/   -  person Shajeel Afzal    schedule 03.09.2015


Ответы (12)


Использование Facebook SDK 3.23 в Android Studio 1.1, предварительная версия 2

Два варианта:

* Репозиторий Maven для Facebook SDK.

dependencies {
    compile 'com.facebook.android:facebook-android-sdk:4.7.0'
}

проверьте последнюю версию facebook sdk

OR

* Выполните следующие действия:

1. Загрузите facebook sdk https://developers.facebook.com/docs/android/

2.Распаковать архив facebook-android-sdk-3.23.0

3.Меню Файл->Импорт модуля

4. Выберите папку «facebook» внутри разархивированного архива.

5. Перейдите в каталог facebook/build.gradle, измените эту часть.

Это:

 compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)
    buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION

    defaultConfig {
        minSdkVersion Integer.parseInt(project.ANDROID_BUILD_MIN_SDK_VERSION)
        targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION)
    }

В правильную версию SDK

пример:

 compileSdkVersion 21
        buildToolsVersion '21.1.1'

        defaultConfig {
            minSdkVersion 14
            targetSdkVersion 21
        }

6. Щелкните свой проект и нажмите F4, перейдите на вкладку «зависимости», нажмите «+», «зависимость модуля» и выберите импортированный модуль facebook.

7. Повторно синхронизируйте и перестройте

person Cristiana Chavez    schedule 04.07.2014
comment
Это сработало для меня, спасибо! Однако после этого я получил ошибку сборки, а затем решил ее, заменив «libs/bolts.jar» на «libs/bolts-android-1.1.2.jar», что является точным именем файла Bolts lib. - person Eric Fan; 01.09.2014
comment
@EricFan это правильно, потому что facebook sdk обновился до версии 3.17.2, и они переименовали Bolts.jar в Bolts-android-1.1.2.jar - person Cristiana Chavez; 02.09.2014
comment
У меня работало на AS 0.8.9, обновляя некоторые поля только для предупреждений. - person MiguelHincapieC; 11.10.2014
comment
Я не сделал пункт 5 и сразу перешел к 6, сборка сработала отлично! Я полагаю, что замена facebook/build.gradle не всегда необходима. - person tufekoi; 22.10.2014
comment
Файл build.gradle в модуле facebook был довольно обширным, и я боялся избавиться от него всего, поэтому из приведенного выше я просто добавил раздел buildscript и изменил раздел android, чтобы он содержал целые числа вместо констант (например, 21). вместо project.ANDROID_BUILD_SDK_VERSION) - person hBrent; 28.10.2014
comment
В текущей версии 3.19.1 мне пришлось изменить только константы SDK и добавить следующие строки: repositories { mavenCentral() } - person schystz; 28.10.2014
comment
У меня возникла ошибка после выполнения описанных выше шагов.. не могу найти com.parse.bolts:bolts-android:1.1.2 - person Dharmik; 18.11.2014
comment
Для тех, кто все еще задается вопросом, наконец-то появился официальный репозиторий Maven для Facebook SDK: зависимости { compile 'com.facebook.android:facebook-android-sdk:3.20.0' } - person Tom Redman; 24.11.2014
comment
Это решение сработало для меня (мне нужно было только точно настроить целевую версию SDK и минимальную версию SDK), и это должен быть принятый ответ. - person Luke47; 18.12.2014
comment
@Cristiana214 Cristiana214 я получил эту ошибку, когда использовал ваше первое решение Maven. - person Sagar Devanga; 03.02.2015
comment
@SagarDevanga 2-й - идеальное решение. - person Cristiana Chavez; 05.02.2015
comment
Я получаю: Ошибка: (24, 13) Не удалось разрешить: com.facebook.android:facebook-android-sdk:3.23.+ Хотя я не уверен, почему. Я добавил репозиторий в свой build.gradle верхнего уровня и добавил соответствующую компиляцию к зависимостям в build.gradle уровня приложения. - person Hanny; 17.03.2015
comment
@Hanny внутри приложения того же уровня сборки, src и libs, есть build.gradle, добавьте compile 'com.facebook.android:facebook-android-sdk:3.23.+' в зависимости - person Cristiana Chavez; 18.03.2015
comment
@ Cristiana214: Вы уверены, что достаточно просто добавить репозиторий maven? Потому что это все еще для меня - person Ashwin; 28.03.2015
comment
@ Cristiana214: получаю эту ошибку для вашего второго решения. Пожалуйста помоги - person Sagar Devanga; 06.07.2015

Для тех, кто все еще задается вопросом, наконец-то появился официальный репозиторий Maven для Facebook SDK:

dependencies {
    compile 'com.facebook.android:facebook-android-sdk:3.20.0'
}
person Tom Redman    schedule 24.11.2014

Запишите значения всех этих переменных в файл "gradle.properties".

Нравиться

ANDROID_BUILD_TARGET_SDK_VERSION=19
ANDROID_BUILD_TOOLS_VERSION=19.1.0
ANDROID_BUILD_SDK_VERSION=19
ANDROID_BUILD_MIN_SDK_VERSION=14

Вы можете следить за этим сообщением https://stackoverflow.com/a/20221453/1232520.

person Bhupinder    schedule 02.07.2014
comment
Это лучший способ сделать это. Нет дублирования. Спасибо - person Benjamin Piette; 21.08.2014

добавьте эту строку в свой gradle.properties, это работает для меня!

ANDROID_BUILD_TARGET_SDK_VERSION=19
ANDROID_BUILD_TOOLS_VERSION=19.1.0
ANDROID_BUILD_SDK_VERSION=19
ANDROID_BUILD_MIN_SDK_VERSION=14

После этого выполните шаг, описанный в этом сообщении https://stackoverflow.com/a/24457464/3296641.

person Aneh Thakur    schedule 27.07.2014

Теперь вы можете использовать версию 3.21.1 от maven.

https://developers.facebook.com/docs/android/

dependencies {
       compile 'com.facebook.android:facebook-android-sdk:3.21.1'
}
person Mahmud Ahsan    schedule 09.12.2014

Теперь вы можете получить Facebook SDK с помощью Gradle:

compile 'com.facebook.android:facebook-android-sdk:3.20.0'
person Defuera    schedule 27.11.2014

Просто перейдите в структуру проекта и выберите зависимость введите здесь описание изображения

затем нажмите + в правом верхнем углу и выберите зависимость библиотеки (первый вариант) и просто введите facebook или, если вам нужна любая другая библиотека, щелкните значок поиска (УБЕДИТЕСЬ, ЧТО У ВАС ЕСТЬ ПОДКЛЮЧЕНИЕ К ИНТЕРНЕТУ) и выберите com.facebook.android:facebook -android-sdk:.... и все готово введите здесь описание изображения

person Nasz Njoka Sr.    schedule 01.01.2015

ОБЪЯСНЕНИЕ:

Следующие константы могут быть определены в вашем проекте gradle.properties:

ANDROID_BUILD_MIN_SDK_VERSION=15
ANDROID_BUILD_TARGET_SDK_VERSION=21
ANDROID_BUILD_TOOLS_VERSION=21.1.2
ANDROID_BUILD_SDK_VERSION=21

Они используются в SDK Facebook в качестве настроек сборки gradle. Чтобы указать, как вы используете пакет sdk. (рекомендуется, чтобы эти значения соответствовали значениям вашего проекта!).

«Повторное использование кода и зависимость!» вы можете использовать те же значения, что и настройки сборки gradle, во всех файлах build.gradle для вашего проекта и во всех других модулях вашего проекта. используйте их так же, как они используются в файле build.gradle Facebook.

Преимущество примера: изменение минимальной версии SDK в gradle.properties автоматически изменит ее для всех ваших модулей build.gradle.

person hasan    schedule 10.02.2015
comment
дать профессиональный ответ. Но почему это объявление не повлияло на compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)? - person Ranjith Kumar; 17.06.2015
comment
С тех пор я не работал на Android. Я забыл. но что я могу вспомнить, что я задавал себе тот же вопрос, и я не уверен, нашел ли я объяснение или нет. - person hasan; 17.06.2015
comment
Я думаю, что это влияет. но вы не можете использовать это во всех файлах. Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION) не может быть скомпилирован в некоторых файлах. - person hasan; 17.06.2015

Вы можете избавиться от

"Error:(13, 0) Could not find property 'ANDROID_BUILD_MIN_SDK_VERSION'"

заменив все значения, как показано ниже, см. ваш build.gradle . вы можете найти все свойства и версии, которые использует ваше приложение. замените значения файла buld.gradle из facebook sdk теми же версиями.

 android {
    compileSdkVersion 19 
    buildToolsVersion "20.0.0"

    defaultConfig {
         minSdkVersion 8
        targetSdkVersion 19
     }

а для ошибки BOLT.JAR в файле facebook sdk build.gradle есть зависимость, такая как compile «files ('../libs/bolts.jar')», это фактически для всей папки sdk, которую мы загружаем, но поскольку мы используйте только папку facebook, чтобы у нас было на один путь к каталогу меньше. Следовательно, вы можете получить значение одной точки перед /libs, поэтому просто удалите его и сохраните как файлы компиляции ('./libs/bolts.jar')

вы хорошо идти !!

person punkb    schedule 02.07.2014

Добавьте зависимость компиляции с последней версией Facebook SDK в файл build.gradle:

 dependencies { 
      compile 'com.facebook.android:facebook-android-sdk:4.14.0'
    }

Для получения дополнительной информации https://developers.facebook.com/docs/android/getting-started< /а>

person IntelliJ Amiya    schedule 27.07.2015

Для тех, кто не знает, куда поставить gradle.properties, он должен идти в корень проекта. Вот так это выглядит в одном из моих проектов.

person sandalone    schedule 25.11.2014

Недавно я столкнулся с ошибкой, которая еще не была решена здесь. Я попытался использовать последнюю версию Facebook SDK от maven (объявив компиляцию «com.facebook.android:facebook-android-sdk:4.6.0»). После сборки gradle у меня не было ошибок, и статический анализ кода студии Android также был в порядке при объявлении и написании кода, связанного с FacebookSdk. Однако, когда я попытался запустить код в эмуляторе, я получил ошибку, что facebook sdk не включен в проект. Затем я попробовал некоторые другие хаки, а затем, наконец, удалил запись facebook из файла сборки gradle и попытался импортировать ее как модуль, но это тоже не сработало.

Через некоторое время, когда я читал файл Facebook Gradle, я понял, что они компилируют код с флагом «sourceCompatibility JavaVersion.VERSION_1_7». Я использовал флаг VERSION_1_8, потому что хотел использовать лямбда-выражение, используя библиотеку retrolambda. После того, как я перешел на 1.7 (а также поправил настройки в Файл -> Структура проекта -> Совместимость с исходным кодом), он заработал и проблем не было.

Я совершенно не понимаю, почему (и если) это связано вместе, но, вероятно, имейте в виду.

person vanomart    schedule 29.09.2015