Seem не получает ресурс Facebook SDK при использовании Facebook Android SDK в IntelliJ IDEA 12
по статье добавить facebook SDK в IntelliJ Android проект?, я решил добавить "facebook.Джар файл" как модуль в "зависимости раздел" в структуре проекта. Процесс компиляции работает нормально. Однако, когда я пытаюсь использовать "Session Login" для входа в facebook, я получил сообщение об ошибке во время выполнения следующим образом:
02-06 20:15:56.648: ERROR/AndroidRuntime(5891): FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: com.facebook.android.R$layout
at com.facebook.LoginActivity.onCreate(LoginActivity.java:55)
at android.app.Activity.performCreate(Activity.java:4524)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1071)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2115)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2189)
at android.app.ActivityThread.access0(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1261)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:4894)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
похоже на facebook.jar не содержит ресурс макета сам предоставлен в Facebook sdk? Не знаю, прав я или нет. Я импортирую текущий проект и создаю и запускаю свое приложение через eclipse, и он работает как шарм. Все работает безупречно. Однако, будучи сторонником идеи IntelliJ, я хотел бы искать, может ли кто-нибудь обеспечить решение этой проблемы. Большое спасибо.
4 ответов
хорошо, наконец, получил Facebook Android SDK работал для меня. Вот порядок шагов, которые я сделал.
- откройте и будьте в текущем проекте android, затем выберите
File
|New Module
- выбираем "
Library Module
" на левой боковой панели. - заполните необходимую информацию на правой боковой панели. Здесь я просто дал:
-
Module name
: "facebook" -
Content root
: выберите, где загруженный Facebook Android SDK есть, и обязательно выберите подпапку с именем "facebook"
-
Module file location
: то же, что и контент root
-
Package name
: com.фейсбук.android (угадать можно было назначить произвольно?)
-
- клик
finish
кнопка и wowla~ вы получили модуль Facebook Android sdk в своем проекте. - на
File
|Project Structure
выберитеModules
страницы слева панель
- выберите исходный проект android, нажмите кнопку плюс (добавить), чтобы добавить новый
Module Dependency
, вы увидите модуль facebook, который мы создали выше, только что показанный для выбора. Выбрать ее. - Нажмите кнопку Применить, OK. Затем вы получили Facebook Android SDK работал безупречно в вас android приложения. Поздравляю!!
У меня была такая же проблема, но я использую eclipse, поэтому мои шаги для решения этой проблемы с помощью eclipse:
1-в eclipse после импорта Facebook sdk в рабочую область щелкните правой кнопкой мыши на библиотеке FacebookSDk, затем выберите Свойства или нажмите Alt + enter 2-Выберите "java build path" из leth затем перейдите на вкладку библиотеки
3-Нажмите кнопку "добавить внешние банки" , затем перейдите к Facebook sdk путь или место выбрал папку libs добавить android-поддержка-V4 файл и болты файл
теперь вы сделали вы счастливы
я надеюсь, что это halps
решение облака не сработало для меня, поэтому я опубликую свое ниже. В частности, мой не работал, потому что я уже использовал библиотеку поддержки appcompat, поэтому это будет особенно полезно в этом случае.
ТОЛЬКО СДЕЛАТЬ ВЫДЕЛЕННЫЕ ШАГИ, ЕСЛИ ВЫ УЖЕ ИСПОЛЬЗУЕТЕ БИБЛИОТЕКУ ПОДДЕРЖКИ APPCOMPAT.
- клик
File
->Project Structure
->Modules
. Нажмитеgreen +
->Import module
. Выберите
гораздо проще импортировать Facebook SDK в качестве библиотеки AAR в сборке Gradle вашего Android-приложения. Для этого я предлагаю не изобретать колесо и использовать проект facebook-api-android-aar (см.https://github.com/mente/facebook-api-android-aar) вместо этого. Как поясняется в документации по этому проекту (в README.md file) простой способ-использовать предварительно построенный артефакт Maven из Facebook SDK, добавив следующий код в приложение строить.файл gradle:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:+'
}
}
repositories {
mavenCentral()
mavenLocal()
maven {
url "http://mente.github.io/facebook-api-android-aar"
}
}
apply plugin: 'android'
dependencies {
compile ('com.facebook:facebook-android-sdk:+@aar') {
transitive = true
}
// other dependecies definition here
}
android {
//android build setup
}
вот и все. Обратите внимание, что этот инструмент версия 3.0.2 поддержка, 3.5.0, 3.5.2, 3.6.0, 3.7.0, 3.8.0, 3.14.1, 3.15.0, 3.16 в Facebook SDK для.
Чао