According to the article Add facebook SDK to IntelliJ Android project?, I choose to add the "facebook.jar" file as a Module in the "Dependencies" section in the project structure. The compile process works fine. However, when I trying to using "Session Login" to login in facebook, I got the runtime error message like this:
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.access$600(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)
It looks like the facebook.jar doesn't contain the layout resource itself provided in facebook sdk? Don't know if I am right or wrong. I do import the current project and build and run my app via eclipse, and it work like a charm. Everything works flawlessly. However, being a IntelliJ IDEA favorer, I would like to seek if anyone could provide solution for this issue. Many thanks.
OK, finally got the facebook android SDK worked for me. Here are the order of steps I did.
File
|New Module
Library Module
" on the left-side panel.Module name
: "facebook"Content root
: Choose where the downloaded facebook android SDK is, and be sure to select the subfolder named "facebook"Module file location
: same as Content rootPackage name
: com.facebook.android (Guess could assign arbitrarily?)finish
button and wowla~ you got the facebook android sdk module in your project.File
|Project Structure
then select theModules
pages at the left panelModule Dependency
, you will see the facebook module we created above just shown for selection. Select it.A much simpler approach is to import the Facebook SDK as an AAR library in your Android app's Gradle build. For doing so, I suggest not to reinvent the wheel and use the facebook-api-android-aar project (see https://github.com/mente/facebook-api-android-aar) instead. As explained on this project's documentation (in the README.md file) the simple way is to use a pre-built Maven artifact of the Facebook SDK, by adding the following code in your application's build.gradle file:
That's it. Note that this tool support version 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 of the Facebook SDK.
Ciao
i had same problem but i'm using eclipse so my steps to solve this problem using eclipse :
1-in eclipse after you import facebook sdk to your workspace right click on FacebookSDk library then chose properties or press Alt + enter 2 - chose "java build path" from leth then go to Libraries Tab
3- click "add external jars" then go to facebook sdk path or location chose libs folder add android-support-v4 file and bolts file
now you done you are happy
i hope this halps
Cloud's solution didn't work for me so I'll post mine below. Specifically, mine didn't work because I was already using the appcompat support library, so this will be especially useful in this case.
ONLY DO THE HIGHLIGHTED STEPS IF YOU ARE ALREADY USING THE APPCOMPAT SUPPORT LIBRARY.
File
->Project Structure
->Modules
. Click thegreen +
->Import module
. Select thefacebook
folder from thefacebook SDK
and clickOK
.Create module from existing sources
->Next
->Next
.Next
->Next
->Finish
.Click
your module
.Click the
green +
on the right ->2. Library
->FacebookDependencies
(or whatever name it had previously in step 3) ->Add Selected
.Click the
green +
on the right ->3. Module Dependency
->facebook
->OK
.