1

我已按照http://code.google.com/p/fbconnect-android/wiki/Setup中提到的步骤进行操作

但它在项目构建时出错

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Lcom/codecarpet/fbconnect/FBLoginDialog$FBRequestDelegateImpl;
[2010-08-07 16:46:13 - fbconnect-sample]    at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
[2010-08-07 16:46:13 - fbconnect-sample]    at com.android.dx.dex.file.DexFile.add(DexFile.java:143)
[2010-08-07 16:46:13 - fbconnect-sample]    at com.android.dx.command.dexer.Main.processClass(Main.java:299)
[2010-08-07 16:46:13 - fbconnect-sample]    at com.android.dx.command.dexer.Main.processFileBytes(Main.java:276)
[2010-08-07 16:46:13 - fbconnect-sample]    at com.android.dx.command.dexer.Main.access$100(Main.java:56)
[2010-08-07 16:46:13 - fbconnect-sample]    at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:228)
[2010-08-07 16:46:13 - fbconnect-sample]    at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245)
[2010-08-07 16:46:13 - fbconnect-sample]    at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:130)
[2010-08-07 16:46:13 - fbconnect-sample]    at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:108)
[2010-08-07 16:46:13 - fbconnect-sample]    at com.android.dx.command.dexer.Main.processOne(Main.java:245)
[2010-08-07 16:46:13 - fbconnect-sample]    at com.android.dx.command.dexer.Main.processAllFiles(Main.java:183)
[2010-08-07 16:46:13 - fbconnect-sample]    at com.android.dx.command.dexer.Main.run(Main.java:139)
[2010-08-07 16:46:13 - fbconnect-sample]    at sun.reflect.GeneratedMethodAccessor16.invoke(Unknown Source)
[2010-08-07 16:46:13 - fbconnect-sample]    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[2010-08-07 16:46:13 - fbconnect-sample]    at java.lang.reflect.Method.invoke(Method.java:616)
[2010-08-07 16:46:13 - fbconnect-sample]    at com.android.ide.eclipse.adt.internal.sdk.DexWrapper.run(Unknown Source)
[2010-08-07 16:46:13 - fbconnect-sample]    at com.android.ide.eclipse.adt.internal.build.ApkBuilder.executeDx(Unknown Source)
[2010-08-07 16:46:13 - fbconnect-sample]    at com.android.ide.eclipse.adt.internal.build.ApkBuilder.build(Unknown Source)
[2010-08-07 16:46:13 - fbconnect-sample]    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:627)
[2010-08-07 16:46:13 - fbconnect-sample]    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
[2010-08-07 16:46:13 - fbconnect-sample]    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:170)
[2010-08-07 16:46:13 - fbconnect-sample]    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201)
[2010-08-07 16:46:13 - fbconnect-sample]    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:253)
[2010-08-07 16:46:13 - fbconnect-sample]    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
[2010-08-07 16:46:13 - fbconnect-sample]    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:256)
[2010-08-07 16:46:13 - fbconnect-sample]    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:309)
[2010-08-07 16:46:13 - fbconnect-sample]    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:341)
[2010-08-07 16:46:13 - fbconnect-sample]    at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:140)
[2010-08-07 16:46:13 - fbconnect-sample]    at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:238)
[2010-08-07 16:46:13 - fbconnect-sample]    at     org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
[2010-08-07 16:46:13 - fbconnect-sample] 40 errors; aborting
[2010-08-07 16:46:13 - fbconnect-sample] Conversion to Dalvik format failed with error 1
4

1 回答 1

0

问题是因为 API 项目是 java 项目而不是 android 项目。

执行以下操作来解决这个问题: 1. 创建一个新的 Android 项目 2. 将其标记为库(项目属性->android->Is Library) 3. 将 API src 内容复制到您的新项目中 4. 在示例项目中,将新项目添加为库(项目属性->android->add) 5. 从示例项目中删除对旧 API 项目的引用(项目属性->java 构建路径)

注意: 1.如果运行示例项目时出现空白页面,这是因为您需要在MainActivity中设置kApiKey和kApiSecret参数 2.如果尝试在“图形布局”中查看main.xml,得到java.lang。 NullPointerException,转到 FBLoginButton.java-> private Drawable buttonImage() 并将第一行从

if (_session.isConnected()) 

if (_session!=null && _session.isConnected())
于 2011-09-13T05:45:01.500 回答