java.lang.NoClassDefFoundError:com.facebook.android.Facebook

时间:2012-04-20 18:04:01

标签: android eclipse facebook jar noclassdeffounderror

运行我的应用程序时,我不断收到错误java.lang.NoClassDefFoundError:com.facebook.android.Facebook。

调用时会发生这种情况:

facebook = new Facebook(APP_ID);

附加错误消息:

无法找到类com.faceample.android.Facebook',从方法com.example.example1.ShareOnFacebook.onCreate

引用

我已经通过Eclipse中的Referenced库添加了facebook .jar文件。

有没有人遇到/解决这个问题?

5 个答案:

答案 0 :(得分:19)

只需转到Project / Properties / Java Build Path / Order and Export,然后单击jar的复选框。这会将jar设置为“已导出”。您可以在.classparh文件中验证这一点: classpathentry exported =“true”kind =“lib”path =“/ my-jars / facebook-android-sdk-1.2.1.jar”

之后不要忘记清理项目(项目/清洁......)

答案 1 :(得分:3)

我听说使用最新的ADT,您需要将库文件夹命名为“libs”而不是“lib”。但这对我没用。

所以我不得不求助于将我的jar文件移动到“assets”文件夹。这解决了我的问题。

如果你问我,我会完全迟钝。

答案 2 :(得分:2)

我也经常遇到这个问题,“图书馆项目”(应该包含com_facebook_android.jar)根本没有反映在“包浏览器”中。但它很容易解决。
右键单击项目>属性> Android>图书馆 - >删除添加的facebook库项目 - >应用。 然后再次添加facebook库项目并单击“应用”。这次“图书馆项目”将出现在右侧的Package Explorer中。

答案 3 :(得分:1)

您最近是否更新了ADT或Android SDK?尝试删除对facebook库或facebook jar的引用并重新添加它。

他们改变了他们在最新的ADT更新中处理外部库引用的方式,并且它抛弃了我的大量项目。 删除引用并重新添加它们似乎可以解决问题

答案 4 :(得分:0)

对我有用的解决方案: 我项目中的android-support-v4.jar文件与facebook项目中的文件版本不同。所以我将facebook的支持lib复制到我的项目libs文件夹中,它就像一个魅力。