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 работал для меня. Вот порядок шагов, которые я сделал.

  1. откройте и будьте в текущем проекте android, затем выберите File | New Module
  2. выбираем "Library Module" на левой боковой панели.
  3. заполните необходимую информацию на правой боковой панели. Здесь я просто дал:
    • Module name: "facebook"
    • Content root: выберите, где загруженный Facebook Android SDK есть, и обязательно выберите подпапку с именем "facebook"
      select facebook subfolder

    • Module file location: то же, что и контент root
      New Module Window in IntelliJ IDEA 12
    • Package name: com.фейсбук.android (угадать можно было назначить произвольно?)
  4. клик finish кнопка и wowla~ вы получили модуль Facebook Android sdk в своем проекте.
  5. на File | Project Structure выберите Modules страницы слева панель
    enter image description here
  6. выберите исходный проект android, нажмите кнопку плюс (добавить), чтобы добавить новый Module Dependency, вы увидите модуль facebook, который мы создали выше, только что показанный для выбора. Выбрать ее.
  7. Нажмите кнопку Применить, OK. Затем вы получили Facebook Android SDK работал безупречно в вас android приложения. Поздравляю!!

У меня была такая же проблема, но я использую eclipse, поэтому мои шаги для решения этой проблемы с помощью eclipse:

1-в eclipse после импорта Facebook sdk в рабочую область щелкните правой кнопкой мыши на библиотеке FacebookSDk, затем выберите Свойства или нажмите Alt + enter 2-Выберите "java build path" из leth затем перейдите на вкладку библиотеки

enter image description here


3-Нажмите кнопку "добавить внешние банки" , затем перейдите к Facebook sdk путь или место выбрал папку libs добавить android-поддержка-V4 файл и болты файл
теперь вы сделали вы счастливы


я надеюсь, что это halps


решение облака не сработало для меня, поэтому я опубликую свое ниже. В частности, мой не работал, потому что я уже использовал библиотеку поддержки appcompat, поэтому это будет особенно полезно в этом случае.

ТОЛЬКО СДЕЛАТЬ ВЫДЕЛЕННЫЕ ШАГИ, ЕСЛИ ВЫ УЖЕ ИСПОЛЬЗУЕТЕ БИБЛИОТЕКУ ПОДДЕРЖКИ APPCOMPAT.

  1. клик 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 для.

Чао