Android facebook SDK делает ошибку java.lang.NoClassDefFoundError - PullRequest
10 голосов
/ 25 августа 2010

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

Ответы [ 10 ]

22 голосов
/ 06 мая 2011

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

12 голосов
/ 04 января 2011

У меня была та же проблема, и в другой ветке вопросов было предложение экспортировать Android Facebook SDK в виде файла 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.

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

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

Mohamed.

3 голосов
/ 06 марта 2013

Я тоже столкнулся с такой же проблемой.Мне удалось преодолеть эту проблему, поместив библиотеку Facebook SDK, а также мой проект (с которым я хочу связать Facebook SDK) в том же рабочем пространстве.Теперь перейдите к своему проекту -> щелкните правой кнопкой мыши -> Свойства -> Android-> Прокрутите вниз -> Добавить -> выберите путь к SDK Facebook -> нажмите ОК.

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

3 голосов
/ 15 ноября 2012

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

Шаги:

На затмении:

1) Select Project -> Clean
2) Select both your project and facebook sdk project
3) select OK
0 голосов
/ 15 апреля 2015

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

0 голосов
/ 09 февраля 2015

У меня были похожие проблемы.Я строю один мой проект 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 для кого-то

0 голосов
/ 12 декабря 2013

Новый SDK facebook уже имел android.support.V4.jar.

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

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

В этом случае выберите свойства проекта Android -> Путь сборки Java ->

Выберите вкладку Библиотека -> Удалить android.support.V4.jar Выбрать порядоки Экспорт и снятие отметки -> Справочные библиотеки (android.support.V4.jar)

Это решит проблему.

0 голосов
/ 06 июля 2013

Попробуйте установить флажки в Свойства -> Путь сборки Java -> Порядок и экспорт .

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

0 голосов
/ 30 мая 2013

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

  1. Удалите все примеры проектов и SDK Facebook из Eclipse
  2. Импортируйте SDK и примеры проектов снова, но на этот раз, используя "Опция «Копировать проекты в рабочую область» включена.
  3. Перестройка SDK и примеров проектов
  4. Работает!
0 голосов
/ 15 апреля 2013

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

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

...