Notes to develop Funambol for Android in Eclipse

I want to share the notes I took when setting up Funambol for Android in Eclipse. I hope somebody can review them and let me know if they work.

Start with installing Sun java SDK and install Android SDK. I followed the instructions on http://developer.android.com/sdk/installing.html

To install Eclipse 3.5 (Galileo) I used the tarball from eclipse.org, didn’t use the .deb provided in Ubuntu because I think it would have installed openjdk which is not compatible with Android SDK.  Install Google API for Android 2.1 using the ADT Plugin for Eclipse (follow instructions on http://developer.android.com/sdk/installing.html). At this point you should be able to build the HelloWorld app for Android.

In order to build Funambol for Android you need to checkout the source

$ svn checkout https://android-client.forge.funambol.org/svn/android-client/trunk android-client –username guest

(or user your own login name). Look at README.txt and make sure to install ant ant-optional javacc (you should already have java sdk, unzip and subversion). Also you need to get ant-contrib v. 0.6 in order to build Funambol. Download it from the old release repository. Unzip it and put the jar file where you prefer. Later you’ll have to tell Eclipse where to find it.

$ sudo cp ~/tmp/ant-contrib-0.6/lib/ant-contrib-0.6.jar /usr/share/ant/lib/

Copy the build.properties file as described in Funambol Android README.txt and configure it.

$ cp build.properties.example build.properties

There is a small issue with the build.xml file so unless you checked out the source code in your home folder under /funambol/build/android/ you’ll have to edit line 10 of build.xml and fix the path in order for build.properties to be read.

Now it’s time to start Eclipse and import the project: start a New Project and pick Android project type, pick Create from existing source and navigate to the directory where you checked out Funambol for Android. Assign a name to the project, set the build target and hit Finish.

Add the ant-contrib 0.6 jar to Eclipse: go to Window -> Preferences. Navigate to Ant -> Global Entries and Add external jar ant-contrib-0.6.jar.

Now open build.xml from Funambol Project in Eclipse and hit ‘run’. This will trigger the Ant build process. Use defaults. Once that’s done you’ll need to configure the project to use the external jars that the build has just created. Go to the project properties and add all jars in external-libs/ to the Java Build Path.  You’ll need to delete R.java that was created by ant build because Eclipse ADT plugin will try to create a new one and the two conflict.

$ rm [your path]src/com/funambol/android/R.java

This was enough for me to get started building Funambol for Android. I’m sure there are more other things to address, for example AndroidManifest.xml shows the following error:

Multiple annotations found at this line:
– error: Error: No resource type specified (at ‘versionCode’ with
value ‘@@@application.version.code@@@’).
– error: Error: No resource type specified (at ‘versionName’ with
value ‘@@@application.version@@@’).

I had to put static values in order to be able to run the Funambol app in the emulator using Eclipse. For the long term it may be a good idea to add an eclipse target in build.xml that doesn’t generate R.java.

25 thoughts on “Notes to develop Funambol for Android in Eclipse

  1. Great Job Stef. I´m a programmer from Argentina and I was looking for samples about funambol on android. I didn’t found too much. Do you make some progress syncing a custom android app with funambol ?

  2. Funambol syncs contacts and pictures to a syncml server, creating a new account on Android. If you need to sync a remote database to Android you may want to have a look at Funambol server and develop a connector for your db. Then, if your db doesn’t store contacts, you’ll probably need to develop a custom sync source for the android app. Not sure what your plan is. I suggest you to look at the Funambol Forge forums on https://www.forge.funambol.org/support. I believe that this topic was also discussed in the past (check the archives there).

  3. Dear Stef
    Great job.
    Thanks for your introduction to build funambol client in eclipse. I am an new guy of Android app developer from China.

    Now there is a problem, no BuildInfo class can be found in this project.
    Somebody say that BuildInfo is generated at build time, then how can I do to avoid this mistake.
    Thanks.

  4. Just a note: To get the BuildInfo.java file, you have to “Refresh” the folder src/com.funambol.android then the source file BuildInfo.java shows up. Then you have to build the project. You probably have to “Project->Clean” before.

  5. Hi!

    Do you get the Android App to run on the Emulator?
    I can’t login, even with remote or local funambol-server. Works fine with my “real” Android.

    Tx!

  6. my workaround atm is to use the account from the funambol site, that seems to work without any problems.
    and YES i am very sure that i used the correct login, same login information work fine when connection with my real android-device

    1. you may have issues with your server installation. Check server’s logs: that will help, and get in touch with Funambol’s community in case you can’t sort things out yourself.

      1. I have the same issue as helo. I’m still thinking about buying Android, PIM data sync is show-stopper for me. So I decided to try it with emulator… Unfortunately with no luck. Tried 8.5, 9.0, 9.0.1 – all the same. Works with my.funambol.com but not with my server. But my WM device and Outlook Sync Client works flawlessly with it.
        Could you give at least some points to check with exact descriptions?

  7. Wuaa, trying to follow your recpise the ant build task just killed my binary folder ($HOME/bin) where Eclipse, Android SDK, funambol server and other applications lied around. Now looking for a backup….

  8. Just to clariy; that was not your fault but mine (or from build.xml). Eclipse & Funambol Server already are already recovered.

  9. hey, stef.
    I am a programer from china, i need your help.
    I got throught the funambol_android_client.apk in am emulator and now i am trying to put the funambol-android-sync-client-9.0.1-src into Eclipse.
    as i am not familiar with ant or build.xml, so i just don’t know what to do.
    (i have JDK1.6, Eclipse(Helios) with ADT10.1, Android SDK 2.2 installed already.)
    Could you please give me some help? Thanks!!

  10. Hi Stef
    Thanks for your great job.
    I’m trying to develop Funambol for Android in Eclipse.
    I follow your notes step by step and almost build the project successfully.
    Everything is ok until i run the from Funambol Project in Eclipse.
    After running i got the “BUILD SUCCESSFUL” message at console,
    but no generate in the sub-folder.
    I tried to execute under tag in Eclipse, still didn’t appear.
    Now i have no idea how to generate the .
    Have you had any similar experience ?
    Could you give me some suggestion? Thank you

    By the way,my building environment:
    OS: windows7 32bit,
    Eclipse: Indigo (3.7),
    Android sdk: latest from Android official web page; Android 2.2(level 8),
    JDK 6 (1.6.026),
    other tools:javacc-4.0 & ant-contrib-0.6 & Slik-Subversion-1.6.17

  11. Hi,

    My self working on PhoneGap and developed one application which displays the data. I am getting that data from mySQL database. Till now working fine. Now I want to Sync that data for every 1hour. Like in “Funambol” we have to things “Contacts”, “Calender” in that same way, I want to implement my Application. That should be sync the data from database.

    Finally, I request you that “is there any way to Sychronize my application using the “Funambol” ”

    If you have any idea about this mail me : saimohanj2me@gmail.com

    Thanks in Advance

Leave a Reply

Your email address will not be published. Required fields are marked *