java.lang.NoClassDefFoundError: android.support.v4.content.LocalBroadcastManager facebook android 应用程序
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/24920404/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
java.lang.NoClassDefFoundError: android.support.v4.content.LocalBroadcastManager facebook android app
提问by user1282637
I know this question has been asked and I've tried using many other posts to help me through this but none have worked. I am working through this link to install a Facebook login onto an Android app: https://developers.facebook.com/docs/android/getting-started. I have imported the Facebook SDK and it works for the sample apps so I know thats ok. I DO NOT have any JARs in my libs folder. In properties > Android libraries I have added appcompat_v7 and FacebookSDK. In Built Path > Order and Export I have Android Dependencies and Android Private Libraries both checked.
我知道有人问过这个问题,我尝试使用许多其他帖子来帮助我解决这个问题,但没有一个有效。我正在通过此链接将 Facebook 登录名安装到 Android 应用程序上:https: //developers.facebook.com/docs/android/getting-started。我已经导入了 Facebook SDK,它适用于示例应用程序,所以我知道没问题。我的 libs 文件夹中没有任何 JAR。在属性 > Android 库中,我添加了 appcompat_v7 和 FacebookSDK。在 Build Path > Order and Export 中,我检查了 Android Dependencies 和 Android Private Libraries。
The error
错误
java.lang.NoClassDefFoundError: android.support.v4.content.LocalBroadcastManager
java.lang.NoClassDefFoundError: android.support.v4.content.LocalBroadcastManager
happens on this line of code:
发生在这行代码上:
Session.openActiveSession(this, true, new Session.StatusCallback() {
Session.openActiveSession(this, true, new Session.StatusCallback() {
Any ideas on why this is happening? I have been messing around with my properties all day and can't get it working. The code is right off of the FB developer site so I'm sure its fine. Thanks.
关于为什么会发生这种情况的任何想法?我一整天都在摆弄我的财产,但无法让它发挥作用。代码就在 FB 开发者网站上,所以我确定它没问题。谢谢。
07-23 16:19:18.506: W/dalvikvm(22318): VFY: unable to find class referenced in signature (Landroid/support/v4/app/Fragment;)
07-23 16:19:18.506: W/dalvikvm(22318): VFY: unable to find class referenced in signature (Landroid/support/v4/app/Fragment;)
07-23 16:19:18.506: W/dalvikvm(22318): VFY: unable to find class referenced in signature (Landroid/support/v4/app/Fragment;)
07-23 16:19:18.506: W/dalvikvm(22318): VFY: unable to find class referenced in signature (Landroid/support/v4/app/Fragment;)
07-23 16:19:18.506: I/dalvikvm(22318): Could not find method android.support.v4.content.LocalBroadcastManager.getInstance, referenced from method com.facebook.Session.postActiveSessionAction
07-23 16:19:18.506: W/dalvikvm(22318): VFY: unable to resolve static method 222: Landroid/support/v4/content/LocalBroadcastManager;.getInstance (Landroid/content/Context;)Landroid/support/v4/content/LocalBroadcastManager;
07-23 16:19:18.506: D/dalvikvm(22318): VFY: replacing opcode 0x71 at 0x0009
07-23 16:19:18.545: D/AndroidRuntime(22318): Shutting down VM
07-23 16:19:18.545: W/dalvikvm(22318): threadid=1: thread exiting with uncaught exception (group=0x419707c0)
07-23 16:19:18.545: E/AndroidRuntime(22318): FATAL EXCEPTION: main
07-23 16:19:18.545: E/AndroidRuntime(22318): java.lang.NoClassDefFoundError: android.support.v4.content.LocalBroadcastManager
07-23 16:19:18.545: E/AndroidRuntime(22318): at com.facebook.Session.postActiveSessionAction(Session.java:1567)
07-23 16:19:18.545: E/AndroidRuntime(22318): at com.facebook.Session.setActiveSession(Session.java:974)
07-23 16:19:18.545: E/AndroidRuntime(22318): at com.facebook.Session.openActiveSession(Session.java:1129)
07-23 16:19:18.545: E/AndroidRuntime(22318): at com.facebook.Session.openActiveSession(Session.java:1014)
07-23 16:19:18.545: E/AndroidRuntime(22318): at com.example.testfb3.MainActivity.onCreate(MainActivity.java:18)
07-23 16:19:18.545: E/AndroidRuntime(22318): at android.app.Activity.performCreate(Activity.java:5133)
07-23 16:19:18.545: E/AndroidRuntime(22318): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
07-23 16:19:18.545: E/AndroidRuntime(22318): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2293)
07-23 16:19:18.545: E/AndroidRuntime(22318): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2389)
07-23 16:19:18.545: E/AndroidRuntime(22318): at android.app.ActivityThread.access0(ActivityThread.java:153)
07-23 16:19:18.545: E/AndroidRuntime(22318): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1269)
07-23 16:19:18.545: E/AndroidRuntime(22318): at android.os.Handler.dispatchMessage(Handler.java:99)
07-23 16:19:18.545: E/AndroidRuntime(22318): at android.os.Looper.loop(Looper.java:137)
07-23 16:19:18.545: E/AndroidRuntime(22318): at android.app.ActivityThread.main(ActivityThread.java:5289)
07-23 16:19:18.545: E/AndroidRuntime(22318): at java.lang.reflect.Method.invokeNative(Native Method)
07-23 16:19:18.545: E/AndroidRuntime(22318): at java.lang.reflect.Method.invoke(Method.java:525)
07-23 16:19:18.545: E/AndroidRuntime(22318): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
07-23 16:19:18.545: E/AndroidRuntime(22318): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
07-23 16:19:18.545: E/AndroidRuntime(22318): at dalvik.system.NativeStart.main(Native Method)
Full Activity:
完整活动:
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// start Facebook Login
Session.openActiveSession(this, true, new Session.StatusCallback() {
// callback when session changes state
@Override
public void call(Session session, SessionState state, Exception exception) {
if (session.isOpened()) {
// make request to the /me API
Request.newMeRequest(session, new Request.GraphUserCallback() {
// callback after Graph API response with user object
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
TextView welcome = (TextView) findViewById(R.id.welcome);
welcome.setText("Hello " + user.getName() + "!");
}
}
}).executeAsync();
}
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
}
}
EDIT
编辑
Just to give you guys a visual of what my settings look like:
只是为了让你们看到我的设置是什么样的:
回答by Andrey. Alexander
As my experience, this error happens from build settings.
根据我的经验,此错误发生在构建设置中。
I suggest to do as follows.
我建议做如下。
Click button "Add jars..."
单击按钮“添加罐子...”
Select "android-support-v4.jar" from
从中选择“android-support-v4.jar”
Select tab "Order and Export" and check "android-support-v4.jar".
选择选项卡“订购和导出”并选中“android-support-v4.jar”。
Clean the project and build.
清理项目并构建。
After run project, then app will execute.
运行项目后,应用程序将执行。
Good luck
祝你好运
--Andrey Alexander--
——安德烈·亚历山大——