1
0
Fork 0
forked from len0rd/rockbox

Android: add a script which allows headless installation of the Android tools required for compilation

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28525 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Maurus Cuelenaere 2010-11-06 17:32:52 +00:00
parent df1ec391ff
commit ab9caead92
2 changed files with 65 additions and 1 deletions

View file

@ -3,7 +3,7 @@ application for android.
* Prerequisites * Prerequisites
Download and install the Android SDK[1] and NDK[2]. Download and install the Android SDK[1] and NDK[2], or run installToolchain.sh.
After you extracted the SDK, you need to run <sdk-dir>/tools/android in order to After you extracted the SDK, you need to run <sdk-dir>/tools/android in order to
install the actual platform sdk from the available packages tab (SDK Platform install the actual platform sdk from the available packages tab (SDK Platform
Android 1.5 or above should work). Android 1.5 or above should work).

64
android/installToolchain.sh Executable file
View file

@ -0,0 +1,64 @@
#!/bin/bash
# Abort execution as soon as an error is encountered
# That way the script do not let the user think the process completed correctly
# and leave the opportunity to fix the problem and restart compilation where
# it stopped
set -e
# http://developer.android.com/sdk/index.html
SDK_URL="http://dl.google.com/android/android-sdk_r07-linux_x86.tgz"
# http://developer.android.com/sdk/ndk/index.html
NDK_URL="http://dl.google.com/android/ndk/android-ndk-r4b-linux-x86.zip"
prefix="${INSTALL_PREFIX:-$HOME}"
dldir="${DOWNLOAD_DIR:-/tmp}"
SDK_PATH=$(find $prefix -maxdepth 1 -name "android-sdk-*")
NDK_PATH=$(find $prefix -maxdepth 1 -name "android-ndk-*")
download_and_extract() {
url="$1"
name=${url##*/}
local_file="$dldir/$name"
if [ \! -f "$local_file" ]; then
echo " * Downloading $name..."
wget -O "$local_file" $1
fi
echo " * Extracting $name..."
case ${local_file#*.} in
zip)
unzip -qo -d "$prefix" "$local_file"
;;
tgz|tar.gz)
(cd $prefix; tar -xf "$local_file")
;;
*)
echo "Couldn't figure out how to extract $local_file" ! 1>&2
;;
esac
}
if [ -z "$SDK_PATH" ]; then
download_and_extract $SDK_URL
SDK_PATH=$(realpath $prefix/android-sdk-*)
fi
if [ -z "$NDK_PATH" ]; then
download_and_extract $NDK_URL
NDK_PATH=$(realpath $prefix/android-ndk-*)
fi
if [ -z "$(find $SDK_PATH/platforms -type d -name 'android-*')" ]; then
echo " * Installing Android platforms..."
$SDK_PATH/tools/android update sdk --no-ui --filter platform,tool
fi
cat <<EOF
* All done!
Please set the following environment variables before running tools/configure:
export \$ANDROID_SDK_PATH=$SDK_PATH
export \$ANDROID_NDK_PATH=$NDK_PATH
EOF