2017-05-30 2 views
0

Stack Traceconnexion Facebook a échoué avec Android

05-30 16: 50: 36,015 7351-7351/com.example.android.facebooklogin E/dalvikvm: Impossible de trouver la classe 'android.graphics.drawable.RippleDrawable' , référencé à partir de la méthode android.support.v7.widget.AppCompatImageHelper.hasOverlappingRendering 05-30 16: 50: 37.658 7351-7351/com.example.android.facebooklogin E/AndroidRuntime: FATAL EXCEPTION: principal Processus: com.example. android.facebooklogin, PID: 7351 La tentative de connexion a échoué: LoginActivity n'a pas pu être démarré at com.facebook.login.LoginManager.startLogin (LoginManager.java:382) à com.facebook.login.LoginManager.logInWithReadPermissions (LoginManager.java:262) à com.facebook.login.widget.LoginButton $ LoginClickListener.onClick (LoginButton.java:693) à com.facebook.FacebookButtonBase $ 1.onClick (FacebookButtonBase.java:310) à android.view.View.performClick (View.java:4486) à android.view.View $ PerformClick.run (View.java:18801) à android.os.Handler.handleCallback (Handler.java:808) à android.os.Handler.dispatchMessage (Handler.java:103) à android.os.Looper.loop (Looper.java:193) à android.app.ActivityThread.main (ActivityThread. Java: 5390) à java.lang.reflect.Method.invokeNative (Méthode native) à java.lang.reflect.Method.invoke (Method.java:515) à com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit .java: 833) à com.android.internal.os.ZygoteInit.main (ZygoteInit.java:649) à dalvik.system.NativeStart.main (native Method)

MainActivity.java

package com.example.android.facebooklogin; 

    import android.content.Intent; 
    import android.os.Bundle; 
    import android.support.v7.app.AppCompatActivity; 
    import android.view.View; 
    import android.widget.TextView; 

    import com.facebook.CallbackManager; 
    import com.facebook.FacebookCallback; 
    import com.facebook.FacebookException; 
    import com.facebook.FacebookSdk; 
    import com.facebook.login.LoginResult; 
    import com.facebook.login.widget.LoginButton; 

    public class MainActivity extends AppCompatActivity { 
    TextView info; 
    LoginButton loginButton; 
    CallbackManager callbackManager; 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     callbackManager.onActivityResult(requestCode, resultCode, data); 
    } 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     FacebookSdk.sdkInitialize(getApplicationContext()); 

     callbackManager = CallbackManager.Factory.create(); 
     setContentView(R.layout.activity_main); 
     info = (TextView) findViewById(R.id.info); 
     loginButton = (LoginButton) findViewById(R.id.login_button); 
     loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { 
        @Override 
        public void onSuccess(LoginResult loginResult) { 
         info.setText(
           "User ID: " + loginResult.getAccessToken().getUserId() 
             + "\n" + "Auth Token: " + loginResult.getAccessToken().getToken() 
         ); 
        } 
        // 
        @Override 
        public void onCancel() { 
         info.setText("Login attempt cancelled. "); 

        } 

        @Override 
        public void onError(FacebookException error) { 
         info.setText("Login attempt failed. "); 

        } 
       }); 
    } 

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
    <RelativeLayout 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.example.android.facebooklogin.MainActivity"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/info" 
     android:text="Hello World!" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:textSize="18sp"/> 

    <com.facebook.login.widget.LoginButton 
     android:id="@+id/login_button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true"/> 

    </RelativeLayout> 

fichier Manifest

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.android.facebooklogin"> 

    <uses-permission android:name="android.permission.INTERNET" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:roundIcon="@mipmap/ic_launcher_round" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <meta-data 
      android:name="com.facebook.sdk.ApplicationId" 
      android:value="@string/facebook_app_id" /> 
     <!--<activity android:name=".MainActivity">--> 
     <activity 
      android:name=".MainActivity" 

      android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" 
      android:label="@string/app_name"> 
      <activity android:name="com.facebook.FacebookActivity" 
       android:theme="@android:style/Theme.Translucent.NoTitleBar" 
       android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" 
       android:label="@string/app_name" /> 

      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.DEFAULT" /> 
       <category android:name="android.intent.category.BROWSABLE" /> 

       <data android:scheme="@string/fb_login_protocol_scheme" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

    </application> 

</manifest> 

id app

<string name="facebook_app_id">xxxxxxxxxxxxxxxx</string> 
+0

Lire https://stackoverflow.com/questions/37108618/could-not-find-class-android-graphics-drawable-rippledrawable –

+0

lire https://stackoverflow.com/questions/37108618/could-not-find -class-android-graphics-drawable-rippledrawable –

+0

@ ND1010_ je ne pouvais pas trouver de solution ici. –

Répondre

0

Le RippleDrawable a été ajouté dans l'API 21, il est donc pas disponible sur SDKs plus tôt.

Vous pouvez déplacer votre fichier pouvant être appelé vers res/drawable-v21 pour vous assurer qu'il ne plante pas sur les versions antérieures.