我已经搜索了与我的问题相关的所有主题,但找不到解决方案。 我正在使用 BlackBerry Java Plug-in for Eclipse v1.5.2 和 JRE 7.1.0 为 Blackberry 应用程序进行编码。我目前正在尝试将 Facebook Connect 集成到我的应用程序中,以便用户可以通过 Facebook 登录我们的应用程序。 我使用的 Blackberry Facebook SDK 版本为 0.8.25,从此处下载:
http://sourceforge.net/projects/facebook-bb-sdk/
获得两个 jar 文件 FacebookBlackberrySDK-v0.8.25.jar 和 Log4B-v0.9.4.jar 后,我首先使用 eclipse 成功地对它们进行了预验证,并将它们作为库包含到我的项目中。
该项目编译成功,但随后出现运行时错误:NoClassDefFoundError
。
经过调试,发现异常是在这一行抛出的:
fb = Facebook.getInstance(new ApplicationSettings(NEXT_URL, APPLICATION_ID, APPLICATION_SECRET, Facebook.Permissions.ALL_PERMISSIONS));
我怀疑程序找不到文件 Facebook.class 下面是我的源代码:
package com.nextmobile.ecourage.net;
import com.blackberry.facebook.ApplicationSettings;
import com.blackberry.facebook.Facebook;
public class FacebookLogin
{
private final String NEXT_URL = "http://www.facebook.com/connect/login_success.html";
private final String APPLICATION_ID = "153555168010272";
private final String APPLICATION_SECRET = "354f91a79c8fe5a8de9d65b55ef9aa1b";
private Facebook fb;
private Facebook fb4u;
public FacebookLogin()
{
fb = Facebook.getInstance(new ApplicationSettings(NEXT_URL, APPLICATION_ID, APPLICATION_SECRET, Facebook.Permissions.ALL_PERMISSIONS));
fb4u = Facebook.getInstance(new ApplicationSettings(NEXT_URL, APPLICATION_ID, APPLICATION_SECRET, Facebook.Permissions.USER_DATA_PERMISSIONS));
fb4u.addPermission(Facebook.Permissions.OFFLINE_ACCESS);
}
}
所以我只用这行代码替换了这些行:
new ApplicationSettings(NEXT_URL, APPLICATION_ID, APPLICATION_SECRET, Facebook.Permissions.ALL_PERMISSIONS);
它工作正常,没有出现任何错误。 这很奇怪,因为 Facebook.class 和 ApplicationSettings.class 都在同一目录中,并且程序可以找到 ApplicationSettings.class,但找不到 Facebook.class。
这两个类都在包下:com.blackberry.facebook
有人对此有任何想法吗?谢谢!
最佳答案
由于您使用的是 Java SDK,因此您应该查看 RIM 提供的有关将 facebook 和 twitter 集成到您的 BB 应用程序中的示例:https://github.com/blackberry/Samples-for-Java/tree/master/SocialApp
关于facebook - 黑莓 Facebook SDK 抛出异常 : NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11676646/