Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android Facebook SDK 4 in Eclipse

Are there some way to import the new Facebook SDK for Android to Eclipse without Gradle or Maven (something like the past way)? I've been watching some pages but i don't find a the way.

Thanks

like image 998
Amaury Esparza Avatar asked Mar 31 '15 22:03

Amaury Esparza


People also ask

What SDK does Facebook use?

The current version of the Facebook SDK for Android is version 14.1. 0 and requires the Android API 15. Code and samples for the Facebook SDK for Android are available on GitHub. When you use the Facebook SDK for Android, follow the Facebook Open Source Terms of Use and Privacy Policy.


1 Answers

I also have faced this problem, so I will write a short guide, how to install it in Eclipse.

Step 1. Import to Eclipse

First of all, download the latest version of SDK (on current moment it is 4.0). Unzip it to a folder.

Open Eclipse, click the right mouse button in "PackageExplorer" and choose "Import". After that, go to "Android" -> "Existing Android Code Into Workspace".

enter image description here

Now click "Browse" and choose unzipped SDK folder, and deselect all other found projects, except from the "facebook" (it is an SDK). Other included projects are just samples, and you don't need them now.

enter image description here

You may select "copy project to workspace" checkbox, if you need this.

Step 2. Fixing errors

After importing, we will see, that the whole facebook SDK package are in errors:

enter image description here

But if we look closer, and open one of marked as error classes, we will find, that SDK tried to importsupport.v4 library:

enter image description here

It required for properly compilation. You can find instructions how to download it using Android SDK Managerhere.

After it downloading, you can find it in your Android sdk folder: <sdk>/extras/android/support/v4. Then add it to the facebook SDK project: right mouse click on SDK project -> "Properties" -> "Java Build Path" -> "Libraries" -> "Add External JARs", and choose android-support-v4.jar from it's folder.

enter image description hereenter image description hereenter image description here

After that a lot of errors will be gone:

enter image description here

But, there are other errors. So we are going to another class, and found it error code piece. Move mouse pointer on it, and Eclipse will show you the hint, of what kind of error you are facing. It says that your compliance Java must be version 1.7. Allow Eclipse do it by clicking "Change project ...", or do it manually by going to "Properties" -> "Java Complier" -> "Compiler compilance level" -> "1.7".

enter image description here

OR

enter image description here

Moving ahead. Now we are facing only one kind of error, that says that the FB SDK can't find required Bolts Android library.

enter image description here

We are going to google, found it compiled jar in a repository. Choose the latest version (for current moment it's 1.2.0, but SDK gradle file is using 1.1.4, so you may choose that), and download the jar. Now add it to the facebook SDK as external lib, as we do it before.

enter image description here

Voila! Ther are no errors anymore!

enter image description here

Also don't forget to set in the facebook SDK project "Properties" -> "Android", that it is a Library.

enter image description here

Just for ensurance, close/re-open the SDK project and clean it ("Eclipse menu" -> "Project" -> "Clean"), so all files can build properly.

Step 3. Add it to the Android project

Now you can try to add it to your Android app. Go to your Android app project "Properties" -> "Android" -> "Library" -> "Add", and choose facebook SDK.

enter image description here

Follow official tutorial, and set up your Android application project (don't forget to add all required elements to Manifest.xml). Than you can use this tutorial to add LoginButton to your Activity. Try to build it. It should run without problem.

enter image description here

like image 100
VadymVL Avatar answered Oct 02 '22 19:10

VadymVL