NoClassDefFoundError:android.support.v4.content.LocalBroadcastManager

时间:2013-07-16 10:44:26

标签: android shared-libraries noclassdeffounderror

我读了很多关于这个错误的话题:E / AndroidRuntime(16097):java.lang.NoClassDefFoundError:android.support.v4.content.LocalBroadcastManager

我只是将facebook sdk链接到我的项目,compil没问题,但是使用以下代码我得到了错误

这是我的Java构建路径:http://i.stack.imgur.com/GzqO5.png

    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.executeMeRequestAsync(session, new Request.GraphUserCallback() {

            @Override
            public void onCompleted(GraphUser user, Response response) {
                // TODO Auto-generated method stub

            }

            // callback after Graph API response with user object
          });
        }
      }
    });

非常感谢。

2 个答案:

答案 0 :(得分:18)

这个问题困扰了我近六个月,没有任何解决方案可以帮助我,但今天我已经设法找到了正确的解决方案。

当您选择项目目标版本大于或等于Android 4.0时,Android SDK在您的项目“libs”文件夹中包含“android-support-v4.jar”文件。此jar包含与Android相关的所有类和方法4.0或更高版本

你可以看到你的问题,android正试图找到“android-support-v4.jar”中的类定义,这意味着你没有配置“android-support-v4.jar”的构建路径file.为此请执行以下步骤:

1.打开您的项目属性
2.从左侧菜单中选择“Java Build Path” 3.选择“库”选项卡
4.按“添加外部罐子”
5.最重要的步骤: -
选择你的当前项目位置的“libs”文件夹的“android-support-v4”jar文件(路径应该只是你的项目,而不是android sdk)。
6.选择“订购和导出”选项卡,然后选中“android-support-v4.jar”的复选框

就是这样,你做完了!!

答案 1 :(得分:9)

不要在Build-path中添加jar文件,请按照以下步骤进行操作

从java构建路径中删除所有jar文件,然后按照以下步骤操作

你应该试试这个:

  1. 从Java
  2. 中删除项目中对JAR的所有引用
      

    项目 - >属性 - > Java构建路径 - >库

    1. 如果项目的根目录不存在,则创建 libs 文件夹将JAR复制到libs文件夹中。

    2. 如果仍然没有运行OK。 右键单击您的项目> Android工具>修复项目属性

    3. 清理项目并运行。它会起作用