2 System Requirements
The system requirements for using the tools will vary depending on your
intended usage. At the very least, you’ll need:
- GNU/Linux
- Python 2.x
To be sure of being able to process all apk files without error, you need
2.7.7 or later. See
http://bugs.python.org/issue14315
.
- The Android SDK Tools and Build-tools.
Note that F-Droid does not assume that you have the Android SDK in your
PATH
: these directories will be specified in your repository
configuration. Recent revisions of the SDK have aapt
located in
android-sdk/build-tools/ and it may be necessary to make a symlink to it in
android-sdk/platform-tools/
If you intend to build applications from source you’ll also need most, if not
all, of the following:
- JDK (Debian package openjdk-6-jdk): openjdk-6 is recommended though openjdk-7
should work too
- VCS clients: svn, git, git-svn, hg, bzr
- A keystore for holding release keys. (Safe, secure and well backed up!)
If you intend to use the ’Build Server’ system, for secure and clean builds
(highly recommended), you will also need:
- VirtualBox (debian package virtualbox)
- Ruby (debian packages ruby and rubygems)
- Vagrant (unpackaged, tested on v1.4.3)
- Paramiko (debian package python-paramiko)
- Imaging (debian package python-imaging)
- Magic (debian package python-magic)
On the other hand, if you want to build the apps directly on your system
without the ’Build Server’ system, you may need:
- All SDK platforms requested by the apps you want to build
(The Android SDK is made available by Google under a proprietary license but
within that, the SDK platforms, support library and some other components are
under the Apache license and source code is provided.
Google APIs, used for building apps using Google Maps, are free to the extent
that the library comes pre-installed on the device.
Google Play Services, Google Admob and others are proprietary and shouldn’t be
included in the main F-Droid repository.)
- A version of the Android NDK
- Ant with Contrib Tasks (Debian packages ant and ant-contrib)
- Maven (Debian package maven)
- JavaCC (Debian package javacc)
- Miscellaneous packages listed in
buildserver/cookbooks/fdroidbuild-general/recipes/default.rb
of the F-Droid server repository