Re-organize Android scripts
Addresses https://code.google.com/p/skia/issues/detail?id=1486 R=djsollen@google.com Review URL: https://codereview.chromium.org/22411004 git-svn-id: http://skia.googlecode.com/svn/trunk@10585 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
parent
aa2d35144b
commit
7627535b8f
@ -4,32 +4,11 @@
|
|||||||
# and enters debugging environment.
|
# and enters debugging environment.
|
||||||
|
|
||||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
APP_NAME=$(basename $1)
|
source $SCRIPT_DIR/android_setup.sh
|
||||||
|
|
||||||
|
APP_NAME=${APP_ARGS[0]}
|
||||||
PORT=5039
|
PORT=5039
|
||||||
|
|
||||||
# Collect extra arguments to be passed to the Skia binary
|
|
||||||
shift
|
|
||||||
deviceID=""
|
|
||||||
while (( "$#" )); do
|
|
||||||
|
|
||||||
if [[ $(echo "$1" | grep "^-d$") != "" ]];
|
|
||||||
then
|
|
||||||
deviceID=$2
|
|
||||||
shift
|
|
||||||
else
|
|
||||||
APP_ARGS="$APP_ARGS $1"
|
|
||||||
fi
|
|
||||||
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
# hack for x86 support in android_setup.sh
|
|
||||||
if [ "$deviceID" == "x86" ] || [ "$deviceID" == "razr_i" ]
|
|
||||||
then
|
|
||||||
ANDROID_ARCH=x86
|
|
||||||
fi
|
|
||||||
|
|
||||||
source $SCRIPT_DIR/android_setup.sh
|
|
||||||
source $SCRIPT_DIR/utils/setup_adb.sh
|
source $SCRIPT_DIR/utils/setup_adb.sh
|
||||||
|
|
||||||
echo "Installing Skia Android app"
|
echo "Installing Skia Android app"
|
||||||
@ -43,14 +22,14 @@ $ADB shell ps | grep gdbserver | awk '{print $2}' | xargs -r $ADB shell kill
|
|||||||
|
|
||||||
# We need the debug symbols from these files
|
# We need the debug symbols from these files
|
||||||
GDB_TMP_DIR=$(pwd)/android_gdb_tmp
|
GDB_TMP_DIR=$(pwd)/android_gdb_tmp
|
||||||
mkdir $GDB_TMP_DIR
|
mkdir -p $GDB_TMP_DIR
|
||||||
echo "Copying symbol files"
|
echo "Copying symbol files"
|
||||||
$ADB pull /system/bin/app_process $GDB_TMP_DIR
|
$ADB pull /system/bin/app_process $GDB_TMP_DIR
|
||||||
$ADB pull /system/lib/libc.so $GDB_TMP_DIR
|
$ADB pull /system/lib/libc.so $GDB_TMP_DIR
|
||||||
$ADB pull /data/data/com.skia/lib/lib$APP_NAME.so $GDB_TMP_DIR
|
$ADB pull /data/data/com.skia/lib/lib$APP_NAME.so $GDB_TMP_DIR
|
||||||
|
|
||||||
# Launch the app
|
# Launch the app
|
||||||
SK_COMMAND="$APP_NAME$APP_ARGS"
|
SK_COMMAND="$APP_ARGS"
|
||||||
echo "Running command $SK_COMMAND"
|
echo "Running command $SK_COMMAND"
|
||||||
$ADB shell am broadcast -a com.skia.intent.action.LAUNCH_SKIA -n com.skia/.SkiaReceiver -e args "$SK_COMMAND"
|
$ADB shell am broadcast -a com.skia.intent.action.LAUNCH_SKIA -n com.skia/.SkiaReceiver -e args "$SK_COMMAND"
|
||||||
|
|
||||||
|
@ -2,30 +2,11 @@
|
|||||||
#
|
#
|
||||||
# android_gdb: Pushes gdbserver. Connects and enters debugging environment.
|
# android_gdb: Pushes gdbserver. Connects and enters debugging environment.
|
||||||
|
|
||||||
deviceID=""
|
|
||||||
while (( "$#" )); do
|
|
||||||
|
|
||||||
if [[ $(echo "$1" | grep "^-d$") != "" ]];
|
|
||||||
then
|
|
||||||
deviceID="$2"
|
|
||||||
shift
|
|
||||||
else
|
|
||||||
gdbVars=("${gdbVars[@]}" "$1")
|
|
||||||
fi
|
|
||||||
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
# hack for x86 support in android_setup.sh
|
|
||||||
if [ "$deviceID" == "x86" ] || [ "$deviceID" == "razr_i" ]
|
|
||||||
then
|
|
||||||
export ANDROID_ARCH=x86
|
|
||||||
fi
|
|
||||||
|
|
||||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
source $SCRIPT_DIR/android_setup.sh
|
||||||
|
|
||||||
# setup the gdbserver
|
# setup the gdbserver
|
||||||
$SCRIPT_DIR/android_gdbserver ${gdbVars[@]}
|
$SCRIPT_DIR/android_gdbserver -d ${DEVICE_ID} ${APP_ARGS}
|
||||||
|
|
||||||
# quit if gdbserver setup failed
|
# quit if gdbserver setup failed
|
||||||
if [[ "$?" != "0" ]]; then
|
if [[ "$?" != "0" ]]; then
|
||||||
@ -38,7 +19,7 @@ sleep 2
|
|||||||
|
|
||||||
# variables that must match those in gdb_server
|
# variables that must match those in gdb_server
|
||||||
GDB_TMP_DIR=$(pwd)/android_gdb_tmp
|
GDB_TMP_DIR=$(pwd)/android_gdb_tmp
|
||||||
APP_NAME=$(basename ${gdbVars[0]})
|
APP_NAME=${APP_ARGS[0]}
|
||||||
PORT=5039
|
PORT=5039
|
||||||
|
|
||||||
# Set up gdb commands
|
# Set up gdb commands
|
||||||
@ -53,8 +34,6 @@ echo "break launch_app" >> $GDBSETUP
|
|||||||
echo "continue" >> $GDBSETUP
|
echo "continue" >> $GDBSETUP
|
||||||
echo "sharedLibrary $APP_NAME" >> $GDBSETUP
|
echo "sharedLibrary $APP_NAME" >> $GDBSETUP
|
||||||
|
|
||||||
source $SCRIPT_DIR/android_setup.sh
|
|
||||||
|
|
||||||
# Launch gdb client
|
# Launch gdb client
|
||||||
echo "Entering gdb client shell"
|
echo "Entering gdb client shell"
|
||||||
if [ "$ANDROID_ARCH" == "x86" ]
|
if [ "$ANDROID_ARCH" == "x86" ]
|
||||||
|
@ -3,17 +3,11 @@
|
|||||||
# android_gdbserver: Pushes gdbserver. Starts debugging environment.
|
# android_gdbserver: Pushes gdbserver. Starts debugging environment.
|
||||||
|
|
||||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
APP_NAME=$(basename $1)
|
source $SCRIPT_DIR/android_setup.sh
|
||||||
|
|
||||||
|
APP_NAME=${APP_ARGS[0]}
|
||||||
PORT=5039
|
PORT=5039
|
||||||
|
|
||||||
# Collect extra arguments to be passed to the Skia binary
|
|
||||||
shift
|
|
||||||
while (( "$#" )); do
|
|
||||||
APP_ARGS="$APP_ARGS $1"
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
source $SCRIPT_DIR/android_setup.sh
|
|
||||||
source $SCRIPT_DIR/utils/setup_adb.sh
|
source $SCRIPT_DIR/utils/setup_adb.sh
|
||||||
|
|
||||||
# We need the debug symbols from these files
|
# We need the debug symbols from these files
|
||||||
@ -54,5 +48,5 @@ $ADB shell ps | grep gdbserver | awk '{print $2}' | xargs $ADB shell kill
|
|||||||
$ADB shell ps | grep skia_launcher | awk '{print $2}' | xargs $ADB shell kill
|
$ADB shell ps | grep skia_launcher | awk '{print $2}' | xargs $ADB shell kill
|
||||||
|
|
||||||
# Starting up gdbserver in android shell
|
# Starting up gdbserver in android shell
|
||||||
echo "Starting gdbserver with command: skia_launcher $APP_NAME$APP_ARGS"
|
echo "Starting gdbserver with command: skia_launcher $APP_ARGS"
|
||||||
$ADB shell gdbserver :5039 /system/bin/skia_launcher $APP_NAME$APP_ARGS &
|
$ADB shell gdbserver :5039 /system/bin/skia_launcher $APP_ARGS &
|
@ -1,21 +1,18 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
deviceID=""
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
source $SCRIPT_DIR/android_setup.sh
|
||||||
|
|
||||||
while (( "$#" )); do
|
for arg in ${APP_ARGS}
|
||||||
|
do
|
||||||
if [[ $(echo "$1" | grep "^-d$") != "" ]];
|
if [[ "${arg}" == "--use-ccache" ]];
|
||||||
then
|
|
||||||
deviceID="$2"
|
|
||||||
shift
|
|
||||||
elif [[ "$1" == "--use-ccache" ]];
|
|
||||||
then
|
then
|
||||||
if [[ -z "$ANDROID_MAKE_CCACHE" ]];
|
if [[ -z "$ANDROID_MAKE_CCACHE" ]];
|
||||||
then
|
then
|
||||||
ANDROID_MAKE_CCACHE=$(which ccache)
|
ANDROID_MAKE_CCACHE=$(which ccache)
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
makeVars=("${makeVars[@]}" "$1")
|
makeVars=("${makeVars[@]}" "${arg}")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
shift
|
shift
|
||||||
@ -29,23 +26,6 @@ if [[ -n "$ANDROID_MAKE_CCACHE" ]]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
||||||
|
|
||||||
# hack for x86 support in android_setup.sh
|
|
||||||
if [ "$deviceID" == "x86" ] || [ "$deviceID" == "razr_i" ]
|
|
||||||
then
|
|
||||||
ANDROID_ARCH="x86"
|
|
||||||
fi
|
|
||||||
|
|
||||||
source $SCRIPT_DIR/android_setup.sh
|
|
||||||
|
|
||||||
setup_device $deviceID
|
|
||||||
returnVal=$?
|
|
||||||
if [ $returnVal != 0 ]
|
|
||||||
then
|
|
||||||
exit 1;
|
|
||||||
fi
|
|
||||||
|
|
||||||
# write the out directory into the .android_config file
|
# write the out directory into the .android_config file
|
||||||
echo $SKIA_OUT > .android_config
|
echo $SKIA_OUT > .android_config
|
||||||
|
|
||||||
|
@ -1,3 +1,23 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# android_setup.sh: Sets environment variables used by other Android scripts.
|
||||||
|
|
||||||
|
# Parse the arguments for a DEVICE_ID.
|
||||||
|
DEVICE_ID=""
|
||||||
|
while (( "$#" )); do
|
||||||
|
if [[ $(echo "$1" | grep "^-d$") != "" ]];
|
||||||
|
then
|
||||||
|
DEVICE_ID=$2
|
||||||
|
shift
|
||||||
|
else
|
||||||
|
APP_ARGS="$APP_ARGS $1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
APP_ARGS=$(echo ${APP_ARGS} | sed 's/^ *//g')
|
||||||
|
|
||||||
function exportVar {
|
function exportVar {
|
||||||
NAME=$1
|
NAME=$1
|
||||||
VALUE=$2
|
VALUE=$2
|
||||||
@ -105,19 +125,19 @@ setup_toolchain() {
|
|||||||
# Remove the '-gcc' at the end to get the full toolchain prefix
|
# Remove the '-gcc' at the end to get the full toolchain prefix
|
||||||
ANDROID_TOOLCHAIN_PREFIX=${GCC%%-gcc}
|
ANDROID_TOOLCHAIN_PREFIX=${GCC%%-gcc}
|
||||||
|
|
||||||
exportVar AR "$ANDROID_TOOLCHAIN_PREFIX-ar"
|
|
||||||
if [[ -z "$ANDROID_MAKE_CCACHE" ]]; then
|
if [[ -z "$ANDROID_MAKE_CCACHE" ]]; then
|
||||||
exportVar CC "$ANDROID_TOOLCHAIN_PREFIX-gcc"
|
export CC="$ANDROID_TOOLCHAIN_PREFIX-gcc"
|
||||||
exportVar CXX "$ANDROID_TOOLCHAIN_PREFIX-g++"
|
export CXX="$ANDROID_TOOLCHAIN_PREFIX-g++"
|
||||||
exportVar LINK "$ANDROID_TOOLCHAIN_PREFIX-gcc"
|
export LINK="$ANDROID_TOOLCHAIN_PREFIX-gcc"
|
||||||
else
|
else
|
||||||
exportVar CC "$ANDROID_MAKE_CCACHE $ANDROID_TOOLCHAIN_PREFIX-gcc"
|
export CC="$ANDROID_MAKE_CCACHE $ANDROID_TOOLCHAIN_PREFIX-gcc"
|
||||||
exportVar CXX "$ANDROID_MAKE_CCACHE $ANDROID_TOOLCHAIN_PREFIX-g++"
|
export CXX="$ANDROID_MAKE_CCACHE $ANDROID_TOOLCHAIN_PREFIX-g++"
|
||||||
exportVar LINK "$ANDROID_MAKE_CCACHE $ANDROID_TOOLCHAIN_PREFIX-gcc"
|
export LINK="$ANDROID_MAKE_CCACHE $ANDROID_TOOLCHAIN_PREFIX-gcc"
|
||||||
fi
|
fi
|
||||||
exportVar RANLIB "$ANDROID_TOOLCHAIN_PREFIX-ranlib"
|
export AR="$ANDROID_TOOLCHAIN_PREFIX-ar"
|
||||||
exportVar OBJCOPY "$ANDROID_TOOLCHAIN_PREFIX-objcopy"
|
export RANLIB="$ANDROID_TOOLCHAIN_PREFIX-ranlib"
|
||||||
exportVar STRIP "$ANDROID_TOOLCHAIN_PREFIX-strip"
|
export OBJCOPY="$ANDROID_TOOLCHAIN_PREFIX-objcopy"
|
||||||
|
export STRIP="$ANDROID_TOOLCHAIN_PREFIX-strip"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Helper function to configure the GYP defines to the appropriate values
|
# Helper function to configure the GYP defines to the appropriate values
|
||||||
@ -141,36 +161,46 @@ setup_device() {
|
|||||||
nexus_s)
|
nexus_s)
|
||||||
DEFINES="${DEFINES} skia_arch_type=arm arm_neon=1 arm_version=7 arm_thumb=1"
|
DEFINES="${DEFINES} skia_arch_type=arm arm_neon=1 arm_version=7 arm_thumb=1"
|
||||||
DEFINES="${DEFINES} skia_texture_cache_mb_limit=24"
|
DEFINES="${DEFINES} skia_texture_cache_mb_limit=24"
|
||||||
|
ANDROID_ARCH="arm"
|
||||||
;;
|
;;
|
||||||
nexus_4 | nexus_7 | nexus_10)
|
nexus_4 | nexus_7 | nexus_10)
|
||||||
DEFINES="${DEFINES} skia_arch_type=arm arm_neon=1 arm_version=7 arm_thumb=1"
|
DEFINES="${DEFINES} skia_arch_type=arm arm_neon=1 arm_version=7 arm_thumb=1"
|
||||||
|
ANDROID_ARCH="arm"
|
||||||
;;
|
;;
|
||||||
xoom)
|
xoom)
|
||||||
DEFINES="${DEFINES} skia_arch_type=arm arm_neon=0 arm_version=7 arm_thumb=1"
|
DEFINES="${DEFINES} skia_arch_type=arm arm_neon=0 arm_version=7 arm_thumb=1"
|
||||||
|
ANDROID_ARCH="arm"
|
||||||
;;
|
;;
|
||||||
galaxy_nexus)
|
galaxy_nexus)
|
||||||
DEFINES="${DEFINES} skia_arch_type=arm arm_neon=1 arm_version=7 arm_thumb=1"
|
DEFINES="${DEFINES} skia_arch_type=arm arm_neon=1 arm_version=7 arm_thumb=1"
|
||||||
DEFINES="${DEFINES} skia_texture_cache_mb_limit=32"
|
DEFINES="${DEFINES} skia_texture_cache_mb_limit=32"
|
||||||
|
ANDROID_ARCH="arm"
|
||||||
;;
|
;;
|
||||||
razr_i)
|
razr_i)
|
||||||
DEFINES="${DEFINES} skia_arch_type=x86 skia_arch_width=32"
|
DEFINES="${DEFINES} skia_arch_type=x86 skia_arch_width=32"
|
||||||
DEFINES="${DEFINES} skia_texture_cache_mb_limit=32"
|
DEFINES="${DEFINES} skia_texture_cache_mb_limit=32"
|
||||||
|
ANDROID_ARCH="x86"
|
||||||
;;
|
;;
|
||||||
arm_v7)
|
arm_v7)
|
||||||
DEFINES="${DEFINES} skia_arch_type=arm arm_neon_optional=1 arm_version=7 arm_thumb=0"
|
DEFINES="${DEFINES} skia_arch_type=arm arm_neon_optional=1 arm_version=7 arm_thumb=0"
|
||||||
|
ANDROID_ARCH="arm"
|
||||||
;;
|
;;
|
||||||
arm_v7_thumb)
|
arm_v7_thumb)
|
||||||
DEFINES="${DEFINES} skia_arch_type=arm arm_neon_optional=1 arm_version=7 arm_thumb=1"
|
DEFINES="${DEFINES} skia_arch_type=arm arm_neon_optional=1 arm_version=7 arm_thumb=1"
|
||||||
|
ANDROID_ARCH="arm"
|
||||||
;;
|
;;
|
||||||
arm)
|
arm)
|
||||||
DEFINES="${DEFINES} skia_arch_type=arm arm_neon=0 arm_thumb=0"
|
DEFINES="${DEFINES} skia_arch_type=arm arm_neon=0 arm_thumb=0"
|
||||||
|
ANDROID_ARCH="arm"
|
||||||
;;
|
;;
|
||||||
arm_thumb)
|
arm_thumb)
|
||||||
DEFINES="${DEFINES} skia_arch_type=arm arm_neon=0 arm_thumb=1"
|
DEFINES="${DEFINES} skia_arch_type=arm arm_neon=0 arm_thumb=1"
|
||||||
|
ANDROID_ARCH="arm"
|
||||||
;;
|
;;
|
||||||
x86)
|
x86)
|
||||||
DEFINES="${DEFINES} skia_arch_type=x86 skia_arch_width=32"
|
DEFINES="${DEFINES} skia_arch_type=x86 skia_arch_width=32"
|
||||||
DEFINES="${DEFINES} skia_texture_cache_mb_limit=32"
|
DEFINES="${DEFINES} skia_texture_cache_mb_limit=32"
|
||||||
|
ANDROID_ARCH="x86"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo -n "ERROR: unknown device specified ($TARGET_DEVICE), valid values: "
|
echo -n "ERROR: unknown device specified ($TARGET_DEVICE), valid values: "
|
||||||
@ -183,6 +213,9 @@ setup_device() {
|
|||||||
|
|
||||||
# Set up the toolchain.
|
# Set up the toolchain.
|
||||||
setup_toolchain
|
setup_toolchain
|
||||||
|
if [[ "$?" != "0" ]]; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
DEFINES="${DEFINES} android_toolchain=${TOOLCHAIN_TYPE}"
|
DEFINES="${DEFINES} android_toolchain=${TOOLCHAIN_TYPE}"
|
||||||
|
|
||||||
# Use the "android" flavor of the Makefile generator for both Linux and OS X.
|
# Use the "android" flavor of the Makefile generator for both Linux and OS X.
|
||||||
@ -224,3 +257,9 @@ adb_pull_if_needed() {
|
|||||||
$ADB pull $ANDROID_SRC $HOST_DST
|
$ADB pull $ANDROID_SRC $HOST_DST
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Set up the device.
|
||||||
|
setup_device "${DEVICE_ID}"
|
||||||
|
if [[ "$?" != "0" ]]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user