开发者

FBconnect is not working in android :(

I have follow the step mentioned in http://code.google.com/p/fbconnect-android/wiki/Setup

But it is giving error on project build

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


The problem is caused because the API project is java project and not an android project.

Do the following to solve this: 1. create a new Android project 2. mark it a as library (project properties->android->Is Library) 3. copy the API src contents into your new project 4. in the sample project, add the new project as library (project properties->android->add) 5. remove from the sample project references to the old API project (project properties->java build path)

Notes: 1. if you get a blank page when you run the sample project, its because you need to set kApiKey and kApiSecret parameters in MainActivity 2. if try to view main.xml in "Graphical Layout" and you get java.lang.NullPointerException, go to FBLoginButton.java-> private Drawable buttonImage() and change the first line from

if (_session.isConnected()) 

to

if (_session!=null && _session.isConnected())
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜