summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--android/README2
-rwxr-xr-xandroid/installToolchain.sh64
2 files changed, 65 insertions, 1 deletions
diff --git a/android/README b/android/README
index 8f0a85cabb..99f33aeb59 100644
--- a/android/README
+++ b/android/README
@@ -3,7 +3,7 @@ application for android.
3 3
4* Prerequisites 4* Prerequisites
5 5
6Download and install the Android SDK[1] and NDK[2]. 6Download and install the Android SDK[1] and NDK[2], or run installToolchain.sh.
7After you extracted the SDK, you need to run <sdk-dir>/tools/android in order to 7After you extracted the SDK, you need to run <sdk-dir>/tools/android in order to
8install the actual platform sdk from the available packages tab (SDK Platform 8install the actual platform sdk from the available packages tab (SDK Platform
9Android 1.5 or above should work). 9Android 1.5 or above should work).
diff --git a/android/installToolchain.sh b/android/installToolchain.sh
new file mode 100755
index 0000000000..4bea4ae0e1
--- /dev/null
+++ b/android/installToolchain.sh
@@ -0,0 +1,64 @@
1#!/bin/bash
2
3# Abort execution as soon as an error is encountered
4# That way the script do not let the user think the process completed correctly
5# and leave the opportunity to fix the problem and restart compilation where
6# it stopped
7set -e
8
9# http://developer.android.com/sdk/index.html
10SDK_URL="http://dl.google.com/android/android-sdk_r07-linux_x86.tgz"
11# http://developer.android.com/sdk/ndk/index.html
12NDK_URL="http://dl.google.com/android/ndk/android-ndk-r4b-linux-x86.zip"
13
14prefix="${INSTALL_PREFIX:-$HOME}"
15dldir="${DOWNLOAD_DIR:-/tmp}"
16
17SDK_PATH=$(find $prefix -maxdepth 1 -name "android-sdk-*")
18NDK_PATH=$(find $prefix -maxdepth 1 -name "android-ndk-*")
19
20download_and_extract() {
21 url="$1"
22 name=${url##*/}
23 local_file="$dldir/$name"
24 if [ \! -f "$local_file" ]; then
25 echo " * Downloading $name..."
26 wget -O "$local_file" $1
27 fi
28
29 echo " * Extracting $name..."
30 case ${local_file#*.} in
31 zip)
32 unzip -qo -d "$prefix" "$local_file"
33 ;;
34 tgz|tar.gz)
35 (cd $prefix; tar -xf "$local_file")
36 ;;
37 *)
38 echo "Couldn't figure out how to extract $local_file" ! 1>&2
39 ;;
40 esac
41}
42
43if [ -z "$SDK_PATH" ]; then
44 download_and_extract $SDK_URL
45 SDK_PATH=$(realpath $prefix/android-sdk-*)
46fi
47if [ -z "$NDK_PATH" ]; then
48 download_and_extract $NDK_URL
49 NDK_PATH=$(realpath $prefix/android-ndk-*)
50fi
51
52if [ -z "$(find $SDK_PATH/platforms -type d -name 'android-*')" ]; then
53 echo " * Installing Android platforms..."
54 $SDK_PATH/tools/android update sdk --no-ui --filter platform,tool
55fi
56
57cat <<EOF
58 * All done!
59
60Please set the following environment variables before running tools/configure:
61export \$ANDROID_SDK_PATH=$SDK_PATH
62export \$ANDROID_NDK_PATH=$NDK_PATH
63
64EOF