ndk_paths = {
'r9b': "/home/vagrant/android-ndk/r9b",
'r10e': "/home/vagrant/android-ndk/r10e",
+ 'r12b': "/home/vagrant/android-ndk/r12b",
}
java_paths = {
'8': "/usr/lib/jvm/java-8-openjdk-i386",
cd $NDK_BASE
if [ ! -e $NDK_BASE/r9b ]; then
- if [ `uname -m` == 'x86_64' ] ; then
- SUFFIX='_64'
- else
- SUFFIX=''
- fi
- tar xjf /vagrant/cache/android-ndk-r9b-linux-x86$SUFFIX.tar.bz2
- tar xjf /vagrant/cache/android-ndk-r9b-linux-x86$SUFFIX-legacy-toolchains.tar.bz2
+ tar xjf /vagrant/cache/android-ndk-r9b-linux-x86_64.tar.bz2
+ tar xjf /vagrant/cache/android-ndk-r9b-linux-x86_64-legacy-toolchains.tar.bz2
mv android-ndk-r9b r9b
fi
if [ ! -e $NDK_BASE/r10e ]; then
- if [ `uname -m` == 'x86_64' ] ; then
- SUFFIX='_64'
- else
- SUFFIX=''
- fi
- 7zr x /vagrant/cache/android-ndk-r10e-linux-x86$SUFFIX.bin > /dev/null
+ 7zr x /vagrant/cache/android-ndk-r10e-linux-x86_64.bin > /dev/null
mv android-ndk-r10e r10e
fi
+if [ ! -e $NDK_BASE/r12b ]; then
+ 7zr x /vagrant/cache/android-ndk-r12b-linux-x86_64.bin > /dev/null
+ mv android-ndk-r12b r12b
+fi
+
chmod -R a+rX $NDK_BASE/
find $NDK_BASE/ -type f -executable -print0 | xargs -0 chmod a+x
that included legacy toolchains, so as to not break builds that require
toolchains no longer included in current versions of the NDK.
-The buildserver supports r9b with its legacy toolchains and the latest release
-as of writing this document, r10e. You may add support for more versions by
-adding them to 'ndk_paths' in your config file.
+The buildserver supports r9b with its legacy toolchains, r10e and the
+latest release as of writing this document, r12b. You may add support
+for more versions by adding them to 'ndk_paths' in your config file.
@item gradle=<flavour1>[,<flavour2>,...]
Build with Gradle instead of Ant, specifying what flavours to use. Flavours
@section Setting up a build server
In addition to the basic setup previously described, you will also need
-a Vagrant-compatible Debian Testing base box called 'jessie32' (or jessie64
-for a 64-bit VM, if you want it to be much slower, and require more disk
-space).
+a Vagrant-compatible Debian Testing base box called 'jessie64'.
You can use a different version or distro for the base box, so long as you
don't expect any help making it work. One thing to be aware of is that
# not installed.
# ndk_paths = {
# 'r9b': None,
-# 'r10e': "$ANDROID_NDK",
+# 'r10e': None,
+# 'r12b': "$ANDROID_NDK",
# }
# java_paths = {
# You may want to alter these before running ./makebuildserver
# Name of the base box to use
-# basebox = "jessie32"
+# basebox = "jessie64"
# Location where testing32.box can be found, if you don't already have
# it. For security reasons, it's recommended that you make your own
# in a secure environment using trusted media (see the manual) but
# you can use this default if you like...
-# baseboxurl = "https://f-droid.org/jessie32.box"
+# baseboxurl = "https://f-droid.org/jessie64.box"
#
# or if you have a cached local copy, you can use that first:
-# baseboxurl = ["file:///home/fdroid/fdroidserver/cache/jessie32.box", "https://f-droid.org/jessie32.box"]
+# baseboxurl = ["file:///home/fdroid/fdroidserver/cache/jessie64.box", "https://f-droid.org/jessie64.box"]
# In the process of setting up the build server, many gigs of files
# are downloaded (Android SDK components, gradle, etc). These are
# Debian package proxy server - if you have one
# aptproxy = "http://192.168.0.19:8000"
-# Set to True if your base box is 64 bit (e.g. testing32.box isn't)
-# arch64 = True
-
# If this is running on an older machine or on a virtualized system,
# it can run a lot slower. If the provisioning fails with a warning
# about the timeout, extend the timeout here. (default: 600 seconds)
ndk_path = build.ndk_path()
if build.ndk or (build.buildjni and build.buildjni != ['no']):
if not ndk_path:
- logging.critical("Android NDK version '%s' could not be found!" % build.ndk or 'r10e')
+ logging.critical("Android NDK version '%s' could not be found!" % build.ndk or 'r12b')
logging.critical("Configured versions:")
for k, v in config['ndk_paths'].items():
if k.endswith("_orig"):
'sdk_path': "$ANDROID_HOME",
'ndk_paths': {
'r9b': None,
- 'r10e': "$ANDROID_NDK",
+ 'r10e': None,
+ 'r12b': "$ANDROID_NDK",
},
'build_tools': "24.0.0",
'force_build_tools': False,
logging.info(' Android SDK:\t\t\t' + config['sdk_path'])
if aapt:
logging.info(' Android SDK Build Tools:\t' + os.path.dirname(aapt))
- logging.info(' Android NDK r10e (optional):\t$ANDROID_NDK')
+ logging.info(' Android NDK r12b (optional):\t$ANDROID_NDK')
logging.info(' Keystore for signing key:\t' + keystore)
if repo_keyalias is not None:
logging.info(' Alias for key in store:\t' + repo_keyalias)
def ndk_path(self):
version = self.ndk
if not version:
- version = 'r10e' # falls back to latest
+ version = 'r12b' # falls back to latest
paths = fdroidserver.common.config['ndk_paths']
if version not in paths:
return ''
'8956e9efeea95f49425ded8bb697013b66e162b064b0f66b5c75628f76e0f532'),
('https://dl.google.com/android/ndk/android-ndk-r9b-linux-x86_64-legacy-toolchains.tar.bz2',
'de93a394f7c8f3436db44568648f87738a8d09801a52f459dcad3fc047e045a1'),
+ ('https://dl.google.com/android/repository/android-ndk-r12b-linux-x86_64.zip',
+ 'eafae2d614e5475a3bcfd7c5f201db5b963cc1290ee3e8ae791ff0c66757781e'),
]