FBconnect не работает в Android :( - PullRequest
       16

FBconnect не работает в Android :(

1 голос
/ 07 августа 2010

Я выполнил шаг, упомянутый в 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

1 Ответ

0 голосов
/ 13 сентября 2011

Проблема вызвана тем, что проект API является проектом Java, а не проектом Android.

Чтобы решить эту проблему, выполните следующие действия: 1. создайте новый проект Android 2. отметьте его как библиотеку (свойства проекта-> android-> Is Library) 3. скопировать содержимое API src в новый проект 4. в примере проекта добавить новый проект как библиотеку (свойства проекта-> android-> добавить) 5. удалить из примера ссылки на проектк старому проекту API (свойства проекта-> путь сборки Java)

Примечания: 1. Если при запуске примера проекта вы получаете пустую страницу, это потому, что вам нужно установить параметры kApiKey и kApiSecret в MainActivity 2Если вы попытаетесь просмотреть main.xml в «Graphical Layout» и получите java.lang.NullPointerException, перейдите к FBLoginButton.java-> private Drawable buttonImage () и измените первую строку с

if (_session.isConnected()) 

на

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