1

我想在我的android应用中使用firebase登录facebook,因此将应用与firebase连接后,我添加了facebook sdk compile 'com.facebook.android:facebook-android-sdk:[4,5)'的依赖关系,但是当我运行我的应用时,它显示InflateException在登录facebook时使用firebase中的android

android.view.InflateException:二进制XML文件行#20:二进制XML文件行#20:错误充气类com.facebook.login.widget.LoginButton

XML代码

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="com.environer.becofriend.MainActivity" 
android:orientation="vertical" 
android:gravity="center"> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Hello World!" 
    app:layout_constraintBottom_toBottomOf="parent" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintRight_toRightOf="parent" 
    app:layout_constraintTop_toTopOf="parent" /> 

<com.facebook.login.widget.LoginButton 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

</LinearLayout> 

注:我还没有在我的MainActivity因为SDK是在新的SDK自动初始化

+0

使用FirebaseUI-auth的。这是更容易,更直接 –

回答

0

试试这个,我想改变的成绩将做的工作,我有工作示例

添加任何代码

1)摇篮

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

2)XML

<com.facebook.login.widget.LoginButton 
        android:background="@drawable/login_button_back_one" 
        android:id="@+id/login_button" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent"/> 

3)的Java

private AccessTokenTracker accessTokenTracker; 
    private ProfileTracker profileTracker; 
    private CallbackManager callbackManager; 
    LoginButton loginButton; 

FacebookSdk.sdkInitialize(ActivityName.this); 

     loginButton = (LoginButton) findViewById(R.id.login_button); 


     callbackManager = CallbackManager.Factory.create(); 

     accessTokenTracker= new AccessTokenTracker() { 
      @Override 
      protected void onCurrentAccessTokenChanged(AccessToken oldToken, AccessToken newToken) { 

      } 
     }; 
accessTokenTracker.startTracking(); 

private void displayMessage(Profile profile){ 
     if(profile != null){ 
      Log.v("@@@WWE"," "+profile); 
     } 
    } 
+0

我想使用最新的Facebook SDK,因为以前的版本有一些错误 –

+0

以及试试我的例子,如果它的作品,那么它只会涉及到SDK的版本 –