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