Подтвердить что ты не робот

Android facebook SDK делает ошибку java.lang.NoClassDefFoundError

Я только что загрузил SDK с помощью http://github.com/facebook/facebook-android-sdk Я распакую его из git и открыл Eclipse. Затем я создал новый проект с использованием существующего источника и выбрал каталог facebook. Итак, проект sdk появился правильно (я думаю). Затем я снова создал новый проект с использованием существующего источника и выбрал "Простой" пример. Его придумали ошибки. Я пошел в свойствах и выбрал раздел "Построение пути" и добавил проект SDK для facebook и был применен. Все ошибки исчезают. Затем я попытался запустить пример, но im получал исключение при первом вызове функции facebook SDK! Исключение - NoClassDefFoundError. Кажется, что во время выполнения он не может найти класс SDK. Как так? Какие-либо предложения? Кто-то успешно выполнил этот пример? Любая помощь будет принята с благодарностью.

4b9b3361

Ответ 1

Щелкните правой кнопкой мыши на проекте. Выберите "Свойства" → Android. В разделе "Библиотека" нажмите кнопку "Добавить..." и выберите путь к проекту SDK для Facebook.

Ответ 2

У меня была такая же проблема, и в другой теме вопроса было предложено экспортировать SDK Android Facebook в виде файла jar и добавить этот файл в ваш проект.

Хотя некоторые люди говорили, что предыдущее решение сработало с ними, это не сработало со мной!

Единственное, что сработало со мной, - это преодолеть шесть моих классов Android Facebook SDK и решить мою проблему.

Шаги:

1- Я просто скопировал следующие 6 классов из Android SDK в свой проект AsyncFacebookRunner.java DialogError.java Facebook.java FacebookError.java FbDialog.java Util.java

2- Я также скопировал файл facebook_icon.png из выпадающих папок в мои доступные папки.

3- Я импортировал свой класс R.java в скопированный класс FbDialog.java.

Мой совет - сначала попробовать решение для банки (так как это опрятный способ быть разработчиком), если он не сработает с вами, тогда попробуйте мое решение (так как это способ решить проблему).

Спасибо и надеюсь, что это решит вашу проблему.

Mohamed.

Ответ 3

Мне удалось преодолеть эту ошибку, выполнив чистую сборку для моего проекта и проекта библиотеки facebook (ссылка).

Этапы:

В Eclipse:

1) Select Project -> Clean
2) Select both your project and facebook sdk project
3) select OK

Ответ 4

У меня тоже была та же проблема. Мне удалось преодолеть эту проблему, разместив библиотеку Facebook SDK, а также мой проект (к которому я хочу связать SDK для Facebook) в пределах одной рабочей области. Теперь перейдите в свой проект- > правый щелчок- > свойства- > android- > scoll down- > add- > выберите путь к facebook SDK- > нажмите ok.

Таким образом вы можете связать SDK Facebook с вашим проектом. Только добавление баннера Facebook приведет к исключению, так как это не содержит всех классов.

Ответ 5

У меня также было это исключение и я попробовал почти все, что нашел. Но затем я скопировал проект facebook sdk в свою папку рабочей области, а затем ссылался на него оттуда в моем проекте и работал.

Не знаю, почему это произошло, это не имело для меня никакого смысла, поскольку я предоставлял ему путь при добавлении ссылки, но в любом случае, он решил проблему.

Ответ 6

У меня была такая же проблема. Я решил это, выполнив следующие шаги:

  • Удалите все примеры проектов и SDK Facebook из Eclipse
  • Повторно импортируйте SDK и образцы проектов, но на этот раз с помощью опции "Копировать проекты в рабочее пространство".
  • Восстановить SDK и примеры проектов
  • Рабочая!

Ответ 7

Попытайтесь пометить флажки в Свойства → Путь сборки Java → Заказ и Экспорт.

У меня была та же проблема с UiLifecycleHelper, и отлично работали как Android Dependencies, так и android-support-v4.jar. Лучше запустить чистую после этого.

Ответ 8

У меня были подобные проблемы. Я создаю один мой проект lib (с действиями) и мой основной проект, используя этот lib. У меня были эти проблемы. Я добавил lib в разделе "Свойства проекта /Android " и внизу, как это было предложено правильно раньше, но этого было недостаточно (обратите внимание, что оба проекта компилировались хорошо). Мне пришлось сменить проект lib и использовать полный путь к макету:

setContentView(com.example.mylib.R.layout.activity_main1);

Обратите внимание, что использование только R.layout было недостаточно, хотя я определил:

import com.example.mylib.R;

Действительная альтернатива:

import com.example.mylib.R.layout;
setContentView(layout.activity_main1);

Использование Eclipse.

hth кому-то

Ответ 9

скачать bolts-android1.1.2 и поместить в папку \libs. затем откройте свойства проекта- > java Build Path- > Project tab, Add Facebook SDK. (Facebook SDK libs должен быть прикреплен к проекту)

Ответ 10

В новом SDK для facebook уже был android.support.V4.jar.

И когда вы создаете новое приложение для Android, даже оно содержит.

Следовательно, когда вы проверяете консоль, вы получаете сообщение об ошибке с несоответствием JAR.

В этом случае выберите свойства проекта android → Java Build path →

Выберите вкладку Библиотека → Удалить android.support.V4.jar Выберите "Заказ и экспорт" и снимите флажок → Справочные библиотеки (android.support.V4.jar)

Это устранит проблему.