Śledzę Facebook SDK dla Androida używając Android Studio . Kiedy uruchamiam moją aplikację, otrzymuję poniższe ostrzeżenie.
Gradle: module 'facebook' won't be compiled. Unfortunately you can't have non-Gradle Java module and Android-Gradle module in one project.
Jak mam to rozwiązać?
Wypróbowałem odpowiedź @Scott Barta i otrzymałem następujący komunikat o błędzie.
A problem occurred configuring project ':App'.
> Failed to notify project evaluation listener.
> A problem occurred configuring project ':libraries:facebook'.
> Failed to notify project evaluation listener.
> Could not resolve all dependencies for configuration ':libraries:facebook:_DebugCompile'.
> Could not find any version that matches com.android.support:support-v4:+.
Required by:
MyApplication2.libraries:facebook:unspecified
Odpowiedzi:
UWAGA
W przypadku Android Studio 0.5.5 i nowszych oraz nowszych wersjach Facebook SDK ten proces jest znacznie prostszy niż to, co jest opisane poniżej (które zostało napisane dla wcześniejszych wersji obu). Jeśli korzystasz z najnowszej wersji, wszystko, co musisz zrobić, to:
Ctrl + Shift + Alt + S
a następnie wybierz kartę zależności. Kliknij+
przycisk i wybierz Zależność modułu. W nowym oknie wybierz:facebook.
Instrukcje dla starszego Android Studio i starszego zestawu SDK Facebooka
Dotyczy to Android Studio 0.5.4 i wcześniejszych i jest najbardziej sensowne dla wersji Facebook SDK, zanim Facebook zaoferował pliki kompilacji Gradle do dystrybucji. Nie wiem, w której wersji SDK wprowadzili tę zmianę.
Instrukcje Facebooka w sekcji „Importuj SDK do projektu Android Studio” na stronie https://developers.facebook.com/docs/getting-started/facebook-sdk-for-android-using-android-studio/3.0/ są nieprawidłowe dla projektów opartych na Gradle (tj. Twój projekt został zbudowany przy użyciu kreatora nowego projektu Android Studio i / lub zawiera
build.gradle
plik modułu aplikacji). Zamiast tego postępuj zgodnie z tymi instrukcjami:Utwórz
libraries
folder pod głównym katalogiem projektu. Na przykład, jeśli projekt to HelloWorldProject, należy utworzyćHelloWorldProject/libraries
folder.Teraz skopiuj cały
facebook
katalog z instalacji SDK dolibraries
właśnie utworzonego folderu.Usuń
libs
folder wfacebook
katalogu. Jeśli chcesz, usunąćproject.properties
,build.xml
,.classpath
, i.project
. pliki. Nie potrzebujesz ich.Utwórz
build.gradle
plik wfacebook
katalogu o następującej zawartości:Zwróć uwagę, że w zależności od tego, kiedy postępujesz zgodnie z tymi instrukcjami w porównaniu z momentem, w którym to zostało napisane, może być konieczne dostosowanie
classpath 'com.android.tools.build:gradle:0.6.+'
wiersza, aby odwoływał się do nowszej wersji wtyczki Gradle. Wkrótce będziemy potrzebować wersji 0.7 lub nowszej. Wypróbuj to, a jeśli pojawi się błąd, że wymagana jest nowsza wersja wtyczki Gradle, to jest to wiersz, który musisz edytować.Upewnij się, że biblioteka obsługi Androida w menedżerze SDK jest zainstalowana.
Edytuj
settings.gradle
plik w głównym katalogu aplikacji i dodaj ten wiersz:Jeśli Twój projekt jest już otwarty w Android Studio, kliknij przycisk „Synchronizuj projekt z plikami Gradle” na pasku narzędzi. Po zakończeniu
facebook
powinien pojawić się moduł.źródło
":MyApp:libraries:facebook"
Zarówno w pliku ustawień, jak i pliku build.grade dla mojej głównej aplikacjiFacebook rzeczywiście dodał SDK do repozytoriów Maven Central. Aby skonfigurować projekt przy użyciu instancji repozytorium maven, musisz zrobić 2 rzeczy:
W pliku build.gradle najwyższego poziomu projektów dodaj repozytoria Maven Central. Mój wygląda tak:
W pliku build.grade na poziomie aplikacji dodaj zależność Facebook SDK:
Możesz także dostosować konkretną wersję Facebook SDK. Aby zobaczyć listę dostępnych wersji w repozytorium maven, kliknij ten link.
źródło
Facebook publikuje SDK na maven central:
Poprostu dodaj :
źródło
Rozwiązanie Scotta Barty działało dla mnie, z wyjątkiem tego, że musiałem dodać je do zależności mojego głównego pliku build.gradle projektu:
Warto również wspomnieć, musisz upewnić się, że:
Są takie same w obu plikach build.gradle ... Kiedy to zrobiłem, działało to jak urok.
źródło
Korzystając z git, możesz z łatwością dołączyć najnowszy facebook-android-sdk.
git submodule add https://github.com/facebook/facebook-android-sdk.git
include ':facebook-android-sdk:facebook'
compile project(':facebook-android-sdk:facebook')
źródło
Użyłem Facebooka SDK 4.10.0, aby zintegrować logowanie w mojej aplikacji na Androida. Samouczek, który śledziłem, to:
Zaloguj się do Facebooka Android Studio
Będziesz mógł uzyskać imię, nazwisko, adres e-mail, płeć, identyfikator na Facebooku i datę urodzenia z facebbok.
Powyższy samouczek wyjaśnia również, jak stworzyć aplikację w konsoli programisty Facebooka za pomocą wideo.
dodaj poniżej w
build.gradle(Module:app)
pliku:i
teraz dodaj poniżej w pliku AndroidManifest.xml:
dodaj następujący w pliku activity_main.xml:
I na koniec dodaj poniżej w pliku MainActivity.java:
źródło
Wdrożyłem Facebook Android SDK w repozytorium Sonatype.
Możesz dołączyć tę bibliotekę jako zależność Gradle:
Oryginalny post tutaj .
źródło
Osoby korzystające z Android Studio 0.8.6 mogą to zrobić:
Skopiuj TYLKO katalog facebook pod katalog Facebook-android-sdk-xxx do swojego projektu wraz z aplikacją /
Teraz powinieneś zobaczyć Android Studio pokazujący facebook jako moduł
provided files('./libs/bolts.jar')
compileSdkVersion 20
lub innej wersji zdefiniowanej w aplikacjibuildToolsVersion '20.0.0'
minSdkVersion 14
targetSdkVersion 20
Ponownie zsynchronizuj plik gradle i powinno działać dobrze!
źródło
Naprawiłem
błąd w
build.gradle
pliku poprzez dodaniegradle.properties
wartości:Źródło: https://stackoverflow.com/a/21490651/2161698
źródło
Utwórz plik build.gradle w projekcie facebook sdk:
Następnie dodaj
include ':libs:facebook'
równa się<project_directory>/libs/facebook
(ścieżka do biblioteki) wsettings.gradle
.źródło
* Repozytorium Gradle dla Facebook SDK.
Wyszukaj najnowszą wersję facebook sdk
źródło
Korzystanie z Facebooka SDK w Android Studio jest dość proste, wystarczy dodać następujący wiersz w swoim gradle
i upewnij się, że masz zaktualizowane repozytorium obsługi Androida, jeśli nie, zaktualizuj je za pomocą samodzielnego menedżera sdk
źródło