我正在研究一个facebook-sdk示例,并尝试利用.JAR提供的类集合。我对java和eclipse比较陌生,所以我希望我犯了一些明显的错误。
问题是一切似乎都编译得很好,但是当我运行项目(使用android模拟器)时,dalvik vm无法找到我从这个facebook sdk引用的第一个类。 (com / facebook / android / Facebook.class)
顺便说一句,如果我将源代码直接复制到我的项目作为附加包,一切正常。
步骤1:我将com_facebook_android项目导出为.JAR文件。 (右键单击项目,导出,java / jar文件)我选择c:\ data \ jag \ jar作为保存facebooksdk.jar的位置。
第2步:我点击项目HelloGoogleMaps,Selected Java Build Path,Libraries,Add External JARS ......我直接选择了c:\ data \ jag \ jar \ facebooksdk.jar文件。
此时我的项目似乎正在建设(没有错误)。
步骤3:调试项目并收到错误:
[2010-11-19 09:05:08 - 示例] ActivityManager:错误:活动类{com.facebook.android/com.facebook.android.Example}不存在。 [2010-11-19 09:05:11 - 示例]在设备上启动活动com.facebook.android.Example [2010-11-19 09:05:12 - 示例]尚未在系统中注册的新软件包。在下次尝试前等待3秒。
[2010-11-19 09:05:15 - 示例]在设备上启动活动com.facebook.android.Example
[2010-11-19 09:05:17 - 示例] ActivityManager:开始:Intent {act = android.intent.action.MAIN cat = [android.intent.category.LAUNCHER] cmp = com.facebook.android /.Example}
[2010-11-19 09:05:17 - 示例]尚未在系统中注册的新软件包。在下次尝试前等待3秒。
[2010-11-19 09:05:20 - 示例]在设备上启动活动com.facebook.android.Example
[2010-11-19 09:05:21 - 示例] ActivityManager:开始:Intent {act = android.intent.action.MAIN cat = [android.intent.category.LAUNCHER] cmp = com.facebook.android /.Example}
[2010-11-19 09:05:21 - 示例] ActivityManager:错误类型3
[2010-11-19 09:05:21 - 示例] ActivityManager:错误:活动类{com.facebook.android/com.facebook.android.Example}不存在。
SHAWN - 这是我项目的Android属性。
答案 0 :(得分:4)
设置Java Build Path时,只能这样做:设置构建路径本身。这导致您获得成功的编译。但是,当创建.apk文件时,系统不知道您需要将外部jar文件与源文件捆绑在一起。
我之前没有这样做,但是如果你右键单击你的com_facebook_android项目并选择Properties> Android,您应该选择Is Library框。然后进入主项目的Android属性,单击Add ...并选择外部库。我相信这会做你需要的。
编辑: 这称为库项目,是SDK的一个相当新的补充。您可以在http://developer.android.com/guide/developing/eclipse-adt.html#libraryProject
找到更多信息答案 1 :(得分:0)
我认为您需要将com.facebook.android作为库添加到您的项目中...
如果我没有错,这是android facebook sdk。
你可以查看这个链接...
请参阅此处的说明:
https://github.com/facebook/facebook-android-sdk
希望它可以帮助你........
Thanksss
答案 2 :(得分:0)
似乎我用蛮力解决了这个问题,其他更合适的事情。