2010-02-20 1 views
0

Я делаю приложение facebook в своем проекте.не удалось найти исключение для класса facebook на android app.how?

Я последовал за этим шагом примера приложения в этой ссылке.

http://code.google.com/p/fbconnect-android/downloads/list

теперь я получил это исключение в моем LogCat.

02-20 22:02:29.020: INFO/ActivityManager(58): Starting activity: Intent { cmp=com.example.brown/.Brown_FaceBook } 
02-20 22:02:29.409: ERROR/dalvikvm(236): Could not find class 'com.codecarpet.fbconnect.FBPermissionActivity', referenced from method com.example.brown.Brown_FaceBook.askPermission 
02-20 22:02:29.418: WARN/dalvikvm(236): VFY: unable to resolve const-class 78 (Lcom/codecarpet/fbconnect/FBPermissionActivity;) in Lcom/example/brown/Brown_FaceBook; 
02-20 22:02:29.418: DEBUG/dalvikvm(236): VFY: replacing opcode 0x1c at 0x0002 
02-20 22:02:29.428: DEBUG/dalvikvm(236): Making a copy of Lcom/example/brown/Brown_FaceBook;.askPermission code (125 bytes) 
02-20 22:02:29.438: INFO/dalvikvm(236): Could not find method com.codecarpet.fbconnect.FBSession.getUid, referenced from method com.example.brown.Brown_FaceBook.checkPermission 
02-20 22:02:29.448: WARN/dalvikvm(236): VFY: unable to resolve virtual method 124: Lcom/codecarpet/fbconnect/FBSession;.getUid()Ljava/lang/Long; 
02-20 22:02:29.448: DEBUG/dalvikvm(236): VFY: replacing opcode 0x6e at 0x0009 
02-20 22:02:29.457: DEBUG/dalvikvm(236): Making a copy of Lcom/example/brown/Brown_FaceBook;.checkPermission code (112 bytes) 
02-20 22:02:29.469: ERROR/dalvikvm(236): Could not find class 'com.codecarpet.fbconnect.FBFeedActivity', referenced from method com.example.brown.Brown_FaceBook.publishFeed 
02-20 22:02:29.469: WARN/dalvikvm(236): VFY: unable to resolve const-class 75 (Lcom/codecarpet/fbconnect/FBFeedActivity;) in Lcom/example/brown/Brown_FaceBook; 
02-20 22:02:29.478: DEBUG/dalvikvm(236): VFY: replacing opcode 0x1c at 0x0002 
02-20 22:02:29.478: DEBUG/dalvikvm(236): Making a copy of Lcom/example/brown/Brown_FaceBook;.publishFeed code (68 bytes) 
02-20 22:02:29.497: WARN/dalvikvm(236): Unable to resolve superclass of Lcom/example/brown/Brown_FaceBook$FBSessionDelegateImpl; (81) 
02-20 22:02:29.497: WARN/dalvikvm(236): Link of class 'Lcom/example/brown/Brown_FaceBook$FBSessionDelegateImpl;' failed 
02-20 22:02:29.507: ERROR/dalvikvm(236): Could not find class 'com.example.brown.Brown_FaceBook$FBSessionDelegateImpl', referenced from method com.example.brown.Brown_FaceBook.onCreate 
02-20 22:02:29.521: WARN/dalvikvm(236): VFY: unable to resolve new-instance 95 (Lcom/example/brown/Brown_FaceBook$FBSessionDelegateImpl;) in Lcom/example/brown/Brown_FaceBook; 
02-20 22:02:29.528: DEBUG/dalvikvm(236): VFY: replacing opcode 0x22 at 0x0015 
02-20 22:02:29.528: DEBUG/dalvikvm(236): Making a copy of Lcom/example/brown/Brown_FaceBook;.onCreate code (292 bytes) 
02-20 22:02:29.537: WARN/dalvikvm(236): Unable to resolve superclass of Lcom/example/brown/Brown_FaceBook$FBSessionDelegateImpl; (81) 
02-20 22:02:29.537: WARN/dalvikvm(236): Link of class 'Lcom/example/brown/Brown_FaceBook$FBSessionDelegateImpl;' failed 
02-20 22:02:29.547: ERROR/dalvikvm(236): Could not find class 'com.example.brown.Brown_FaceBook$FBSessionDelegateImpl', referenced from method com.example.brown.Brown_FaceBook.onCreate 
02-20 22:02:29.558: WARN/dalvikvm(236): VFY: unable to resolve new-instance 95 (Lcom/example/brown/Brown_FaceBook$FBSessionDelegateImpl;) in Lcom/example/brown/Brown_FaceBook; 
02-20 22:02:29.558: DEBUG/dalvikvm(236): VFY: replacing opcode 0x22 at 0x007e 
02-20 22:02:29.570: DEBUG/AndroidRuntime(236): Shutting down VM 
02-20 22:02:29.577: WARN/dalvikvm(236): threadid=3: thread exiting with uncaught exception (group=0x4001b188) 
02-20 22:02:29.587: ERROR/AndroidRuntime(236): Uncaught handler: thread main exiting due to uncaught exception 
02-20 22:02:29.597: ERROR/AndroidRuntime(236): java.lang.NoClassDefFoundError: com.example.brown.Brown_FaceBook$FBSessionDelegateImpl 
02-20 22:02:29.597: ERROR/AndroidRuntime(236):  at com.example.brown.Brown_FaceBook.onCreate(Brown_FaceBook.java:80) 
02-20 22:02:29.597: ERROR/AndroidRuntime(236):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
02-20 22:02:29.597: ERROR/AndroidRuntime(236):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459) 
02-20 22:02:29.597: ERROR/AndroidRuntime(236):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512) 
02-20 22:02:29.597: ERROR/AndroidRuntime(236):  at android.app.ActivityThread.access$2200(ActivityThread.java:119) 
02-20 22:02:29.597: ERROR/AndroidRuntime(236):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863) 
02-20 22:02:29.597: ERROR/AndroidRuntime(236):  at android.os.Handler.dispatchMessage(Handler.java:99) 
02-20 22:02:29.597: ERROR/AndroidRuntime(236):  at android.os.Looper.loop(Looper.java:123) 
02-20 22:02:29.597: ERROR/AndroidRuntime(236):  at android.app.ActivityThread.main(ActivityThread.java:4363) 
02-20 22:02:29.597: ERROR/AndroidRuntime(236):  at java.lang.reflect.Method.invokeNative(Native Method) 
02-20 22:02:29.597: ERROR/AndroidRuntime(236):  at java.lang.reflect.Method.invoke(Method.java:521) 
02-20 22:02:29.597: ERROR/AndroidRuntime(236):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 
02-20 22:02:29.597: ERROR/AndroidRuntime(236):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
02-20 22:02:29.597: ERROR/AndroidRuntime(236):  at dalvik.system.NativeStart.main(Native Method) 

спасибо.

ответ

1

Я видел подобные ошибки, прежде чем Eclipse, похоже, забудет включить классы из другого проекта, от которого вы зависите в своем приложении для Android. Каким-то образом он может попасть в состояние, когда он может видеть классы для компиляции и проверки, нет проблем с манифестом и т. Д., И все же не упаковывать их. Иногда это можно устранить, удалив зависимость и вернув ее обратно.

Из загрузки с этого сайта у вас должно быть два проекта. Проект Android называется fbconnect-sample. Проект Java называется fbconnect-android. Сначала убедитесь, что у вас есть оба проекта, и ни один из них не показывает никаких проблем с построением в представлении «Проблемы с Eclipse». Меню проекта, затем «Автоматически строить» должно быть проверено. В обозревателе пакетов должен быть указан «fbconnect-android» и «fbconnect-sample». Меню «Окно» -> «Показать вид» -> Проблемы не должны содержать проблем с сборкой.

Если у вас нет обоих проектов, они создаются путем перехода в меню «Файл», затем «Импорт ...», затем «Импорт существующих проектов в рабочую область», затем выберите каталог fbconn, извлеченный из файла fbconnect-android.zip. , Оба проекта должны отображаться в разделе «Проекты: заголовок в диалоговом окне», а затем нажмите «Готово». Для проекта fbconnect-android требуется переменная класса ANDROID_JAR, установленная в файле android.jar из SDK, чтобы строить без проблем.

Теперь, чтобы попробовать устранить зависимость и вернуть ее обходной путь, щелкните правой кнопкой мыши проект fbconnect-sample в Project Explorer, выберите «Свойства», затем «Путь сборки Java», затем «Проекты», затем «fbconnect-android», затем «Удалить», тогда хорошо. Теперь щелкните правой кнопкой мыши на fbconnect-sample снова, затем на Java Build Path, затем на Project, затем Add, затем на fbconnect-android, затем на OK, затем на OK. Иногда после этого Eclipse начинает упаковку классов из проекта, в котором вы снова зависеть от APK. В моем случае для этой загрузки образец отлично работал на моем телефоне Droid без этого. Просто импортировать существующие проекты и установить переменную classpath для устранения всех проблем с построением было достаточно.

+0

эй, пожалуйста, уточните это утверждение в ответе ур .. «Для проекта fbconnect-android нужна переменная класса ANDROID_JAR, установленная на андроид.баночка из SDK для того, чтобы построить без проблем « – Praveen

+0

я получил это для fbconn-андроида Unbound переменных классов:.„ ANDROID_JAR“в проекте„fbconnect-андроиде“\t fbconnect-андроид \t \t Построить путь \t Построить Проблему Пути. Как сделать ???? – Praveen

+0

fbconnect-android - проект Java, а не проект Android. Однако он относится к классам Android. Поэтому для компиляции ему нужны классы Android в пути к классам. переменная classpath ANDROID_JAR подробно описана на странице настроек: http://code.google.com/p/fbconnect-android/wiki/Setup. В основном вам просто нужно настроить эту переменную в диалоговом окне Java Build Path в Eclipse, чтобы указать на android.jar из каталога платформ sdk. –

0

Пакеты должны быть перечислены в разделе «Android зависимостей» в проводнике пакетов если вы хотите, чтобы они попали в фактический пакет развертывания. Если он указан в справочной библиотеке, то компилятор увидит его, но вы получите ошибки времени выполнения.

View from package explorer

Для того, чтобы получить пакет там, перейти к проекту свойства, выберите Android, а затем добавить требует библиотеки в раздел Library (в моем примере я ссылка баночки из проекта FacebookSDK)

View from project properties/Android