= HOWTO build FLOSS Dispenser = == Install Maven == On Debian/Ubuntu (as root): {{{ apt-get install maven2 }}} == Download the Android SDK == Unfortunately, the most convenient way to get the SDK is distributed by the Android ''Open Source'' Project, but that copy contains proprietary Google code and is wrapped in a restrictive proprietary license agreement. You can obtain a free SDK by following the [wiki:FreeSDK directions] in our wiki. * [http://developer.android.com/sdk/adding-components.html Install the necessary SDK support] * Include at least Android 1.1 and 1.5 * You may need to create a `temp` directory at the top level of your SDK directory * You may also need to check the "Force HTTP" option under "Settings" == Install maven-android-sdk-deployer == This will allow us to set up a Maven dependency for particular versions of Android. * Get [http://github.com/mosabua/maven-android-sdk-deployer/archives/master the latest stable version] of maven-android-sdk-deployer * Set your ANDROID_HOME environment variable to point to your copy of the Android SDK: {{{ export ANDROID_HOME=/path/to/sdk/ }}} * Install maven-android-sdk-deployer * cd into the directory where you unpacked the maven-android-sdk-deployer sources. * Install maven-android-sdk-deployer according to the directions in the README file (either just `mvn install` for all platforms or `mvn install -P [platform]` if you want to install for just one). == Add SDK tools/ directories to PATH == Add the Android SDK's primary and platform tools directories to your path (to give `mvn` access to `aapt` and `apkbuilder`). Currently, the build process targets Android 1.5, but if you've changed it to target a different platform, use that one in the second export command. {{{ export PATH=${PATH}:/tools export PATH=${PATH}:/platforms/android-1.5/tools }}} == Get FLOSS Dispenser sources == {{{ mkdir fd-readonly cd fd-readonly git clone git://gitorious.org/replicant/floss-dispenser.git }}} == Download necessary libraries and build FLOSS Dispenser == {{{ mvn clean install }}}