java.lang.NoClassDefFoundError: com.facebook.android.Facebook
Я продолжаю получать сообщение об ошибке java.lang.NoClassDefFoundError: com.facebook.android.Facebook при запуске моего приложения.
Это происходит при звонке:
facebook = новый Facebook(APP_ID);
Дополнительное сообщение об ошибке:
Не удалось найти класс com.facebook.android.Facebook, на который ссылается метод com.example.example1.ShareOnFacebook.onCreate
Я добавил.jar файл facebook через библиотеки со ссылками в Eclipse.
Кто-нибудь сталкивался / решал эту проблему?
5 ответов
Просто зайдите в Project / Properties / Java Build Path / Order and Export и установите флажок jar. Это установит jar как "экспортированный". Вы можете проверить это в файле.classparh: classpathentry exported="true" kind="lib" path="/my-jars/facebook-android-sdk-1.2.1.jar"
Не забудьте очистить свой проект после этого (Project / Clean...)
Я слышал, что в последней версии ADT вам нужно называть вашу библиотечную папку "libs", а не "lib". Но это не сработало для меня.
Поэтому вместо этого мне пришлось прибегнуть к перемещению файла JAR в папку "assets". Это решило мою проблему.
Полностью отсталый, если вы спросите меня.
Я также продолжаю получать эту проблему, "Проекты библиотек" (которые должны содержать com_facebook_android.jar) вообще не отражаются в "Проводнике пакетов". Но это легко решаемо.
Щелкните правой кнопкой мыши проект> Свойства>Android> Библиотека -> удалить добавленный проект библиотеки Facebook -> применить. Затем снова добавьте проект библиотеки Facebook и нажмите "Применить". На этот раз "Библиотечные проекты" появятся в вашем Package Explorer справа.
Вы недавно обновили свой ADT или Android SDK? Попробуйте удалить ссылку на библиотеку Facebook или флягу Facebook и повторно добавить ее.
Они изменили способ обработки ссылок на внешние библиотеки в последних обновлениях ADT, и это отбросило тонну моих проектов. Удаление ссылок и их повторное добавление, похоже, помогает.
Решение, которое работало для меня: файл android-support-v4.jar внутри моего проекта отличался от версии внутри проекта Facebook. Поэтому я скопировал библиотеку поддержки Facebook в папку libs моего проекта, и это сработало как шарм.