hankcoder / funambol Goto Github PK
View Code? Open in Web Editor NEWThis project forked from zjujunge/funambol
License: GNU Affero General Public License v3.0
This project forked from zjujunge/funambol
License: GNU Affero General Public License v3.0
Funambol Sync Client for Android ================================= 1. Overview 2. Download 3. Build Requirements 4. Preparing the Build Environment 4.1 Windows 4.2 Linux 4.3 Mac OSX 5. Build and Install 6. Test 7. Eclipse and Netbeans IDE support 8. Known Issues 1. Overview ----------- Funambol Sync Client for Android is a client to synchronize PIM Data of Android devices with any SyncML aware server. For the moment, it is an experimental project to explore the possibility of the new platform. Currently you can synchronize contacts with the internal database of the Funambol server so you can exchange them with other devices or Thunderbird adressbook for example. If you want to test without risk try the Android emulator shiped with the Android SDK. For comments, bugreports or any other help you are very welcome. See https://android-client.forge.funambol.org/servlets/ProjectProcess?pageID=vSJyYt 2. Download ----------- Prebuild binaries and source archives are located here: https://android-client.forge.funambol.org/servlets/ProjectDocumentList You can obtain the source code from subversion here: https://android-client.forge.funambol.org/svn/android-client/trunk/android-client To access the subversion repository you need an account. You can create one by registering on this page: https://www.forge.funambol.org/servlets/Join 3. Build requirements --------------------- - Sun Java 1.6 JDK http://java.sun.com/javase/downloads/index.jsp - Apache Ant http://ant.apache.org/bindownload.cgi - Ant-Contrib Tasks: http://ant-contrib.sourceforge.net/ (version 0.6) - JavaCC 4.0 (note that 4.1 does not work with J2ME) https://javacc.dev.java.net/files/documents/17/26777/javacc-4.0.zip - Android SDK r09 http://developer.android.com/sdk - Subversion client http://subversion.tigris.org 4. Preparing the build environment ---------------------------------- Funambol Sync Client for Android builds on Windows, Linux and Mac OSX with any Android SDK from r09 or previous. 4.1 Windows ----------- - Download and install Sun Java 1.6 JDK. Add the bin directory of the JDK to your path and create a new system variable JAVA_HOME pointing to the base directory of the JDK. For example: Add "C:\Program Files\Java\jdk_1.6.0_14\bin" to the path. Set JAVA_HOME to "C:\Program Files\Java\jdk_1.6.0_14". - Download Apache Ant and unzip it to a directory of your choice. Add Ant's bin directory to your path and create a new system variable ANT_HOME. For example: Add "C:\Apps\ant\bin" to your path. Set ANT_HOME to "C:\Apps\ant". You can now check your installation by opening a comand prompt and typing ant in any directory. You should get a message like: C:\> ant Buildfile: build.xml does not exist! Build failed Now check for the java compiler C:\> javac -version javac 1.6.0_14 If you got anything else, check your path! - Download and install version 0.6 of Ant-Contrib Tasks: http://ant-contrib.sourceforge.net/ Copy your ant-contrib-0.6.jar to your $ANT_HOME/lib - Download JavaCC 4.0 and unzip it to a directory of your choice. For example: c:\src\lib\javacc-4.0 - Download Android SDK and unzip it to a directory of your choice. For example: C:\src\lib\android-sdk-windows - Start "Android SDK and AVD Manager" application, located under (installdir)/tools/android.bat and install, at least, "Android SDK Platform-tools" and "SDK Platform Android, 2.0" or above. You can add the platform-tools directory of the SDK to your path. This is not necessary for the build but it's easier to play with the emulator and related stuff. For example: Add "C:\src\lib\android-sdk-windows\platform-tools" to your path. - If you want to compile a zipped source archive, you don't need subversion but you certainly want the newest stuff so... Download CollabNet Subversion Command-Line Client v1.6.2 from http://www.collab.net/downloads/subversion/ If you don't like to sign in at CollabNet you can take the Silk SVN build from http://www.sliksvn.com/en/download Just run setup and your are done. If you like an Explorer integration you can additionally install TortuiseSVN from http://tortoisesvn.net/downloads Among other things it provides a command to apply patches from the context menu. - Open a commandprompt and change to the directory where you want to store the sources and unzip the source archive or do a checkout from the repository. For example: C:\src>svn co https://android-client.forge.funambol.org/svn/android-client/trunk/android-client Change to the new directory, copy the build.properties.example to build.properties and edit the file to match your installation. For example: Change the line which contains sdk-folder to sdk-folder=C:/src/lib/android-sdk-windows-1.5_r2 Now you are ready to build. 4.2 Linux --------- Most Linux distributios provide a Java JDK, Subersion and Ant via it's own setup and software repository. On Ubuntu just type # apt-get install sun-java6-jdk ant ant-optional javacc subversion unzip to get the basic things. - Download Android SDK and unzip it to a directory of your choice. If you have root access you can use /opt if not put it elsewhere in your homedir. You may want to add the tools directory to your path. For example: Add the following line to your .bashrc: export PATH=$PATH:/opt/android-sdk-linux_x86/platform-tools - Start "Android SDK and AVD Manager" application, located under (installdir)/tools/android and install, at least, "Android SDK Platform-tools" and "SDK Platform Android, 2.0" or above. - Open a terminal and change to the directory where you want to store the sources and unzip the source archive or do a checkout from the repository. For example: myhost:~/src/$ svn co https://android-client.forge.funambol.org/svn/android-client/trunk/android-client Change to the new directory and copy the build.properties.example to build.properties and edit the file to match your installation. For example: Change the line which contains sdk-folder to sdk-folder=/opt/android-sdk-linux_x86-1.5_r2 Now you are ready to build. 4.3 Mac OSX ----------- Mac OSX Leopard ships with Java already installed It also has Ant and Subversion if you have XCode installed. If you miss subversion and don't like to install the big XCode Package, you can obtain subversion from http://www.open.collab.net/downloads/apple/download.html or install it via http://www.macports.org/ or http://finkproject.org/. This also applies to Ant. - Download JavaCC 4.0 and unzip it to a directory of your choice. For example: ~\lib\javacc-4.0 The rest of the installation is the same as for Linux. Just press COMMAND-SPACE to start Spotlight and type Terminal to get a console. If you want root access type # sudo -i it's just unix... 5. Build and install -------------------- To build the software change to the source directory you checked out before. Then type: ant It runs the default target which is the same as typing ant debug It will build the Android application signed whith a debug key into bin/funambol-sync-client.apk For an overview of availible targets type ant -p You can build and upload to a running emulator or usb connected device with one command: ant install If you have already installed the application before use ant reinstall If you want to build from an IDE you have to take into account that there are two libraries the project depends on. The source is located under funambol_sdk and the compiled libraries are located in the external-libs directory. They can also build separately whith: ant funambol-sdk To get logs from your connected device while running the software use the adb command from the tools directory of the sdk: adb logcat debug Have Fun! 6. Test ------- To build the application with the Unit Test runner: ant test To build the application with the Integration Test runner: ant autotest To run Unit Test cases: ant run-unit-test To run Integration Test cases: ant run-integration-test To run both Unit and Integration Test cases: ant run-test To specify the test script url add the following definition to the command line: -Dtest.script.url=http://url.to.script.com 7. Eclipse and Netbeans IDE support --------------- It is possible to edit the Funambol Sync Client inside Eclipse or NetBeans IDE. To create a valid Eclipse project, run: ant eclipse-project then, in a Eclipse configured for Android development, simply go to "File -> Import -> Existing project into Workspace" and select as root directory the directory where you stored the client source. To create a valid Netbeans project, run: ant netbeans-project then, in a Netbeans configured for Android development, go to "File -> Open Project" and the directory where you stored the client source. 7. Known Issues --------------- Using Funambol Sync Client for Android with any other server than Funambol Server may not work at current state and there is always a possibility that your data get accidentally modified or lost. Issue: SC96: Can't choose sync source ID for contacts, calendar, etc https://android-client.forge.funambol.org/servlets/tracking?id=SC96 Issue: SC138 first sync after an recover duplicates all contacts with groupdav connector https://android-client.forge.funambol.org/servlets/tracking?id=SC138 Issue: SC128 Calendar has an issue with timezones so your appointments get moved by hours depending on the timezone offset between server and client. https://android-client.forge.funambol.org/servlets/tracking?id=SC128 This is not a complete list. There are other issues too! Check https://android-client.forge.funambol.org/servlets/tracking for details.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.