Mit facebook sdk im android studio

Ich folge Facebook SDK für Android mit Android Studio . Wenn ich meine Bewerbung ausführe, bekomme ich die unten erwähnte Warnung.

Gradle: module 'facebook' won't be compiled. Unfortunately you can't have non-Gradle Java module and Android-Gradle module in one project. 

Wie soll ich das lösen? Danke im Voraus!

  • Java Keystore Passwort sinnlos?
  • Wie Begrenzung der Höhe der Spinner Dropdown-Ansicht in Android
  • Android Webview App wird nicht zulassen, Video-Player gehen Vollbildschirm
  • Posting auf Ruby on Rails App von Android
  • Benennen von Konventionen im Android SDK
  • Was sind die 37 Java API Pakete möglicherweise belastet durch die Mai 2014 Oracle v Google Entscheidung?
  • UPDATE1:

    Ich habe versucht @Scott Bartas Antwort und bekomme die folgende Fehlermeldung.

      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 

  • Android Build - Emulator auf Android Stiefel Logo stecken
  • So stellen Sie SearchView TextSize ein?
  • Mörtel + Flow mit Drittbibliotheken, die zum Aktivitätslebenszyklus gehakt wurden
  • Wie bekomme ich und setze (ändern) ID3-Tag (Metadaten) von Audiodateien?
  • Android: Ist es besser, ein neues Fragment zu erstellen, jedes Mal, wenn ein Navigations-Schubladen-Element angeklickt wird, oder laden Sie zuvor erstellte Fragmente?
  • Getting "Fenster bereits fokussiert, ignorieren Fokus gewinnen von: com.android.internal.view.IInputMethodClient $ Stub $ Proxy" in Android
  • 12 Solutions collect form web for “Mit facebook sdk im android studio”

    HINWEIS

    Für Android Studio 0.5.5 und höher und mit späteren Versionen des Facebook SDK ist dieser Prozess viel einfacher als das, was unten dokumentiert wurde (was für frühere Versionen von beiden geschrieben wurde). Wenn du das letzte Mal machst, musst du alles tun:

    1. Laden Sie das Facebook SDK von https://developers.facebook.com/docs/android/ herunter
    2. Entpacken Sie das Archiv
    3. In Android Studio 0.5.5 oder höher wählen Sie "Import Module" aus dem Menü Datei.
    4. Stellen Sie im Assistenten den Quellpfad des Moduls als das "facebook" -Verzeichnis innerhalb des ungepackten Archivs ein. (Hinweis: Wenn du den gesamten übergeordneten Ordner wählst, wird es nicht nur die Bibliothek selbst, sondern auch alle Beispiel-Apps, jeweils als separates Modul, mitbringen. Das mag aber wohl nicht das, was du willst).
    5. Öffnen Sie die Projektstruktur mit der Ctrl + Shift + Alt + S und wählen Sie dann die Registerkarte Abhängigkeiten. Klicken Sie auf die Schaltfläche + und wählen Sie Modulabhängigkeit. Im neuen Fenster Popup wählen Sie :facebook.
    6. Du solltest gut gehen.

    Anleitung für älteres Android Studio und älteres Facebook SDK

    Dies gilt für Android Studio 0.5.4 und früher, und macht das sinnvollste für Versionen des Facebook-SDK vor Facebook bot Gradle Build-Dateien für die Verteilung. Ich weiß nicht, in welcher Version des SDK sie diese Änderung vorgenommen haben.

    Facebook's Anweisungen unter "Importieren Sie das SDK in ein Android Studio Project" auf ihrer https://developers.facebook.com/docs/getting-started/facebook-sdk-for-android-using-android-studio/3.0/ Seite sind falsch Für Gradle-basierte Projekte (dh Ihr Projekt wurde mit dem neuen Projekt-Assistenten von Android Studio erstellt und / oder hat eine build.gradle Datei für Ihr Anwendungsmodul). Befolgen Sie diese Anweisungen stattdessen:

    1. Erstellen Sie einen libraries unter dem Hauptverzeichnis Ihres Projekts. Zum Beispiel, wenn Ihr Projekt HelloWorldProject ist, würden Sie einen HelloWorldProject/libraries erstellen.

    2. facebook nun das gesamte facebook Verzeichnis von der SDK-Installation in den soeben erstellten libraries .

    3. Löschen Sie den libs Ordner im facebook Verzeichnis. Wenn Sie build.xml , löschen Sie die project.properties , build.xml , .classpath und .project . Dateien auch. Du brauchst sie nicht

    4. Erstellen Sie eine build.gradle Datei im facebook Verzeichnis mit folgendem Inhalt:

       buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.6.+' } } apply plugin: 'android-library' dependencies { compile 'com.android.support:support-v4:+' } android { compileSdkVersion 17 buildToolsVersion "19.0.0" defaultConfig { minSdkVersion 7 targetSdkVersion 16 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] } } } 

      Beachten Sie, dass je nachdem, wann Sie diese Anweisungen verglichen werden, wenn dies geschrieben wird, müssen Sie möglicherweise die classpath 'com.android.tools.build:gradle:0.6.+' Zeile an eine neuere Version des Gradle Plugins verweisen . Bald werden wir Version 0.7 oder später benötigen. Probieren Sie es aus, und wenn Sie einen Fehler bekommen, dass eine neuere Version des Gradle Plugins erforderlich ist, ist das die Zeile, die Sie bearbeiten müssen.

    5. Stellen Sie sicher, dass die Android Support Library in Ihrem SDK Manager installiert ist.

    6. Bearbeiten Sie Ihre settings.gradle Datei im Hauptverzeichnis Ihrer Anwendung und fügen Sie diese Zeile hinzu:

       include ':libraries:facebook' 
    7. Wenn Ihr Projekt bereits in Android Studio geöffnet ist, klicken Sie in der Symbolleiste auf die Schaltfläche "Sync Project mit Gradle Files". Sobald es fertig ist, sollte das facebook Modul erscheinen. Bildbeschreibung hier eingeben

    8. Öffnen Sie das Dialogfeld Projektstruktur. Wählen Sie Module aus der linken Liste aus, klicken Sie auf das Modul Ihrer Anwendung, klicken Sie auf die Registerkarte Abhängigkeiten und klicken Sie auf die Schaltfläche +, um eine neue Abhängigkeit hinzuzufügen. Bildbeschreibung hier eingeben
    9. Wählen Sie "Modulabhängigkeit". Es wird ein Dialog mit einer Liste von Modulen zur Auswahl kommen; Wählen Sie ": Bibliotheken: facebook". Bildbeschreibung hier eingeben
    10. Klicken Sie in allen Dialogen auf OK. Android Studio wird Ihr Projekt automatisch neu synchronisieren (es ist unnötig, auf die Schaltfläche "Sync Project mit Gradle Files" erneut zu klicken) und die neue Abhängigkeit aufzuheben. Du solltest gut gehen.

    Facebook hat in der Tat das SDK zu den Maven Central Repositories hinzugefügt. Um dein Projekt mit der Maven Repo's Instanz zu konfigurieren, musst du 2 Dinge machen:

    1. In Ihren Projekten auf der obersten Ebene build.gradle Datei, fügen Sie die Maven Central Repositories. Mine sieht so aus:

       repositories { jcenter() // This is the default repo mavenCentral() // This is the Maven Central repo } 
    2. Fügen Sie in der App-level build.grade- Datei die Facebook-Sdk-Abhängigkeit hinzu:

       dependencies { compile 'com.facebook.android:facebook-android-sdk:4.5.0' // Adjust the version accordingly // All your other dependencies. } 

    Sie können auch die spezifische Facebook-SDK-Version anpassen. Für eine Liste der verfügbaren Versionen im maven Repository klicken Sie auf diesen Link.

    Facebook veröffentlicht das SDK auf maven zentral:

    Einfach hinzufügen :

     repositories { jcenter() // IntelliJ main repo. } dependencies { compile 'com.facebook.android:facebook-android-sdk:+' } 

    Scott Bartas Lösung hat für mich gearbeitet, außer ich musste diese zu den Abhängigkeiten meines Hauptprojekts build.gradle Datei hinzufügen:

     compile files('libs/android-support-v4.jar') compile project(':libraries:facebook') 

    Auch erwähnenswert, müssen Sie sicherstellen:

     android { compileSdkVersion 18 buildToolsVersion "18.1.1" defaultConfig { minSdkVersion 7 targetSdkVersion 18 } 

    Sind die gleichen in beiden build.gradle Dateien … Sobald ich dies tat, lief es wie ein Charme.

    Bei der Verwendung von git kannst du das neueste facebook-android-sdk mit Leichtigkeit einbinden.

    • Fügen Sie facebook-android-sdk als Submodul hinzu: git submodule add https://github.com/facebook/facebook-android-sdk.git
    • Sdk als gradle-Projekt hinzufügen: edit settings.gradle und add line: include ':facebook-android-sdk:facebook'
    • Add sdk als Abhängigkeit zum Modul: edit build.gradle und füge innerhalb des Abhängigkeitsblocks hinzu: compile project(':facebook-android-sdk:facebook')

    Ich habe Facebook Android SDK in Sonatype Repository eingesetzt.

    Sie können diese Bibliothek als Gradle-Abhängigkeit aufnehmen:

     repositories { maven { url 'https://oss.sonatype.org/content/groups/public' } } dependencies { compile 'com.shamanland:facebook-android-sdk:3.15.0-SNAPSHOT' } 

    Original Post hier

    Viele Antworten sind da, aber ich möchte den einfachsten Weg zeigen, um Facebook-Login in Android-App zu bekommen. Ich benutze folgenden Link als Referenz: facebook login android studio

    build.gradle(Module:app) unten in build.gradle(Module:app) Datei hinzu:

     repositories { mavenCentral() } 

    und

      compile 'com.facebook.android:facebook-android-sdk:4.10.0' 

    Füge nun unten in der Datei AndroidManifest.xml hinzu:

      <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="your app id from facebook developer console"/> <activity android:name="com.facebook.FacebookActivity" android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:label="@string/app_name" /> 

    Füge folgendes in die Datei activity_main.xml hinzu:

     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.demonuts.fblogin.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#000" android:layout_marginLeft="10dp" android:textAppearance="?android:attr/textAppearanceMedium" android:id="@+id/text"/> <com.facebook.login.widget.LoginButton android:id="@+id/btnfb" android:layout_gravity="center_horizontal" android:layout_marginTop="10dp" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> 

    Und in letzter Hinzufügen unten in MainActivity.java Datei:

     import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.Signature; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Base64; import android.util.Log; import android.widget.TextView; import com.facebook.AccessToken; import com.facebook.AccessTokenTracker; import com.facebook.CallbackManager; import com.facebook.FacebookCallback; import com.facebook.FacebookException; import com.facebook.FacebookSdk; import com.facebook.GraphRequest; import com.facebook.GraphResponse; import com.facebook.Profile; import com.facebook.ProfileTracker; import com.facebook.login.LoginResult; import com.facebook.login.widget.LoginButton; import org.json.JSONException; import org.json.JSONObject; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Arrays; public class MainActivity extends AppCompatActivity { private TextView tvdetails; private CallbackManager callbackManager; private AccessTokenTracker accessTokenTracker; private ProfileTracker profileTracker; private LoginButton loginButton; private FacebookCallback<LoginResult> callback = new FacebookCallback<LoginResult>() { @Override public void onSuccess(LoginResult loginResult) { GraphRequest request = GraphRequest.newMeRequest( loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() { @Override public void onCompleted(JSONObject object, GraphResponse response) { Log.v("LoginActivity", response.toString()); // Application code try { Log.d("tttttt",object.getString("id")); String birthday=""; if(object.has("birthday")){ birthday = object.getString("birthday"); // 01/31/1980 format } String fnm = object.getString("first_name"); String lnm = object.getString("last_name"); String mail = object.getString("email"); String gender = object.getString("gender"); String fid = object.getString("id"); tvdetails.setText(fnm+" "+lnm+" \n"+mail+" \n"+gender+" \n"+fid+" \n"+birthday); } catch (JSONException e) { e.printStackTrace(); } } }); Bundle parameters = new Bundle(); parameters.putString("fields", "id, first_name, last_name, email, gender, birthday, location"); request.setParameters(parameters); request.executeAsync(); } @Override public void onCancel() { } @Override public void onError(FacebookException error) { } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); FacebookSdk.sdkInitialize(this); setContentView(R.layout.activity_main); tvdetails = (TextView) findViewById(R.id.text); loginButton = (LoginButton) findViewById(R.id.btnfb); callbackManager = CallbackManager.Factory.create(); accessTokenTracker= new AccessTokenTracker() { @Override protected void onCurrentAccessTokenChanged(AccessToken oldToken, AccessToken newToken) { } }; profileTracker = new ProfileTracker() { @Override protected void onCurrentProfileChanged(Profile oldProfile, Profile newProfile) { } }; accessTokenTracker.startTracking(); profileTracker.startTracking(); loginButton.setReadPermissions(Arrays.asList("public_profile", "email", "user_birthday", "user_friends")); loginButton.registerCallback(callbackManager, callback); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); callbackManager.onActivityResult(requestCode, resultCode, data); } @Override public void onStop() { super.onStop(); accessTokenTracker.stopTracking(); profileTracker.stopTracking(); } @Override public void onResume() { super.onResume(); Profile profile = Profile.getCurrentProfile(); } } 

    Menschen mit Android Studio 0.8.6 könnten dies tun:

    1. Laden Sie Facebook-android-sdk-xxx.zip herunter und entpacken Sie es
    2. Kopiere NUR facebook dir unter dem Facebook-android-sdk-xxx dir in dein Projekt zusammen mit app /

      • ImAnApp /
        • | – app /
        • | – bauen /
        • | – facebook /
    3. Jetzt sollst du Android Studio sehen, das Facebook als Modul zeigt

    4. Ändern Sie die build.gradle von facebook in diese.
      • Bereitstellung von Dateien ('../ libs / bolts.jar') zu den provided files('./libs/bolts.jar')
      • CompileSdkVersion Integer.parseInt (project.ANDROID_BUILD_SDK_VERSION) zu compileSdkVersion 20 oder andere Version, die du in der App definiert hast
      • BuildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION zu buildToolsVersion '20.0.0'
      • MinSdkVersion Integer.parseInt (project.ANDROID_BUILD_MIN_SDK_VERSION) zu minSdkVersion 14
      • TargetSdkVersion Integer.parseInt (project.ANDROID_BUILD_TARGET_SDK_VERSION) zu targetSdkVersion 20

      apply plugin: 'android-library' dependencies { compile 'com.android.support:support-v4:19.1.+' provided files('./libs/bolts.jar') } android { compileSdkVersion 20 buildToolsVersion '20.0.0' defaultConfig { minSdkVersion 14 targetSdkVersion 20 } lintOptions { abortOnError false } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] res.srcDirs = ['res'] } } } 

    Resync deine Gradle-Datei und es sollte einfach gut funktionieren!

    Ich habe die

    "Konnte nicht finden" ANDROID_BUILD_SDK_VERSION "auf Projekt ': facebook'."

    Fehler auf der build.gradle Datei, indem Sie in gradle.properties die Werte hinzufügen:

     ANDROID_BUILD_TARGET_SDK_VERSION=21<br> ANDROID_BUILD_MIN_SDK_VERSION=15<br> ANDROID_BUILD_TOOLS_VERSION=21.1.2<br> ANDROID_BUILD_SDK_VERSION=21<br> 

    Quelle: https://stackoverflow.com/a/21490651/2161698

    Erstellen Sie build.gradle Datei in facebook sdk Projekt:

     apply plugin: 'android-library' dependencies { compile 'com.android.support:support-v4:18.0.+' } android { compileSdkVersion 8 buildToolsVersion "19.0.0" sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } // 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') } } 

    Dann addiere include ':libs:facebook' gleich <project_directory>/libs/facebook (Pfad zur Bibliothek) in settings.gradle .

    * Gradle Repository für das Facebook SDK.

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

    Suche nach der neuesten Version facebook sdk

    Mit facebook sdk in android studio ist ganz einfach, füge einfach die folgende linie in deinem gradle hinzu

      compile 'com.facebook.android:facebook-android-sdk:[4,5)' 

    Und stellen Sie sicher, dass Sie Android-Support-Repository aktualisiert haben, wenn nicht dann aktualisieren Sie es mit Stand alone sdk Krippe

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.