以下类无法实例化:- com.facebook.widget.LoginButton。

3

我一直在努力使Facebook实践应用程序正常运行,但我无法弄清楚为什么无法引用Facebook SDK中的LoginButton。以下是我查看定义LoginButton的布局时遇到的错误。

 <com.facebook.login.widget.LoginButton
        android:id="@+id/login_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="30dp"
        android:layout_marginBottom="30dp" />

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:62)
        at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
        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:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)     at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

1
你正在使用哪个版本的Facebook SDK? - Paul Freez
'com.facebook.android:facebook-android-sdk:4.0.0' - Roman margolin
也许你应该尝试清理项目,然后使用Gradle Sync同步项目? - Paul Freez
1个回答

0

如果您正在使用Android Studio,则请跟随此链接:无法初始化Facebook-sdk for android的LoginButton

如果您正在使用Eclipse,则请交叉检查是否已在清单文件中添加了库项目和元数据以及登录活动。

此外,可能是由于使用了Android SDK的不支持的API导致的。尝试再次使用更高级别的API。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接