estoy trabajando en un proyecto android un quiero poner un Facebook característica de inicio de Sesión, he añadido el Facebook sdk Correctamente pero no he podido inicializar LoginButton

**java.lang.NoClassDefFoundError: Could not initialize class       com.facebook.login.widget.LoginButton**
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:413)
at org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:105)
at com.android.tools.idea.rendering.LayoutlibCallback.loadView(LayoutlibCallback.java:176)
at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:207)
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:132)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:806)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:782)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:385)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:400)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:332)
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:350)
at com.android.tools.idea.rendering.RenderService$5.compute(RenderService.java:708)
at com.android.tools.idea.rendering.RenderService$5.compute(RenderService.java:697)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:932)
at com.android.tools.idea.rendering.RenderService.createRenderSession(RenderService.java:697)
at com.android.tools.idea.rendering.RenderService.render(RenderService.java:816)
at com.intellij.android.designer.designSurface.AndroidDesignerEditorPanel$6.run(AndroidDesignerEditorPanel.java:480)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:320)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:310)
at com.intellij.util.ui.update.MergingUpdateQueue$2.run(MergingUpdateQueue.java:254)
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:269)
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:227)
at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:217)
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238)
at com.intellij.util.Alarm$Request$1.run(Alarm.java:327)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at   java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

aquí está mi AppManifest.xml :

<?xml version="1.0" encoding="utf-8"?>
<uses-permission android:name="android.permission.INTERNET"/>

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >

    <activity
        android:name=".helloActivity"
        android:label="@string/title_activity_hello" >
    </activity>

    <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" />
    <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id"/>
</application>

La que se especifica el App_id en Strings.xml.
Gracias por la ayuda

Ha añadido una biblioteca (probablemente un archivo jar) para tu proyecto?
Sí he añadido Facebook correctamente PS : estoy trabajando en Android Studio
Bien, el error sugiere que la biblioteca no está realmente allí.
Mismo error! No puedo inflar el layout a causa de esto. Ha venido usted a través de la solución?
¿Alguien que esta cifra fuera?

OriginalEl autor Amiine Benkeroum | 2015-03-28

3 Comentarios

  1. 18

    Esto es debido a la falta de inicialización de FacebookSdk antes de su uso.
    Sólo añadir la siguiente línea:

    FacebookSdk.sdkInitialize(mContext);

    en caso de host de LoginButton es:

    1.Actividad – antes de setContentView(R.layout.activity_main)

    2.En el fragmento antes de inflater.inflate(R.layout.fragment_main, container, false)

    También no se olvide de escuchar la devolución de llamada en onActivityResult() en los casos anteriores, para la actualización de la interfaz de usuario de LoginButton.

    sí, facebook init debe suceder antes de interfaz de usuario init!
    Estoy recibiendo este error en el xml de la vista previa (Funciona bien cuando se compila). Alguna pista de lo que podría ser la causa
    Lo que la vista previa de la API estás usando ? De forma predeterminada se muestra la última de ellas, pero para la API 22 el diseño de mostrar errores : Intente cambiar la vista previa de la API a los 21

    OriginalEl autor Ankit Bansal

  2. 4

    He comprobado en última SDK4.0.1, en que la com.facebook.de inicio de sesión.widget.LoginButton está disponible. Pero esto no fue encontrado en facebook-android-sdk-3.17.1, no sólo hemos de com.facebook.widget.LoginButton disponible. Facebook no notifica a los desarrolladores o en sus changelogs que LoginButton clase se trasladó a la sub carpeta.

    Muy extraño por qué facebook no se actualiza correctamente.. Incluso el doc para Android de inicio de sesión está mal!!

    Facebook Documentación chupa el mate!
    lo hace en escritura

    OriginalEl autor Ramesh_D

  3. 0

    Agregar esto a usted Manifest.xml

    <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id" />
    <meta-data android:name="com.facebook.sdk.ApplicationName" android:value="@string/app_name" />

    OriginalEl autor Rana Shahzaib

Dejar respuesta

Please enter your comment!
Please enter your name here