#!/bin/bash
#author liuhx 2015/03/03 http://blog.csdn.net/hursing
# if including multiple steps, combine them into function
updateChrome() {
git pull
cd third_party/WebKit
git pull
gclient sync --nohooks
}
testChromeShellMemory() {
ps=`adb shell ps | grep org.chromium.chrome.shell`
rsss=`echo "$ps" | awk '{print $5;}'`
echo "$rsss"
pids=`echo "$ps" | awk '{print $2;}'`
for p in $pids; do
adb shell dumpsys meminfo $p | grep TOTAL | awk '{print $2;}'
done
}
openUrlInCAWShell() {
# $1 should be url
adb shell am start -a android.intent.action.VIEW -n com.caw.webkit.test/.BrowserActivity -e policy UCM_CURRENT_WINDOW -d $1
}
# defines commands here,format:
# shortcut|one space|action
cmds=(
'w ninja -C out/Debug android_webview_apk'
'gyp build/gyp_chromium'
'd gdb -ex=r --args out/Debug/chrome --no-sandbox http://100.84.44.189'
'ct ctags --languages=C++ --exclude=third_party --exclude=.git --exclude=build --exclude=out -R -f .tags'
# 'e echo example to show this can be commentted'
'r ninja -C out/Debug chrome_shell_apk'
'u updateChrome'
't testChromeShellMemory'
'o openUrlInCAWShell'
)
echoHelp() {
for ((i = 0; i ${#cmds[@]}; i++)); do
echo "${cmds[$i]}"
done
shName=`basename $0`
echo -e "\033[0;33;1mexample: input '$shName ${cmds[0]%% *}' to run '${cmds[0]#* }'\033[0m"
}
if [[ $# -eq 0 ]]; then
echoHelp
exit 255
fi
for ((i = 0; i ${#cmds[@]}; i++)); do
cmd=${cmds[$i]}
shortcut=${cmd%% *}
if [[ "$shortcut"x == "$1"x ]]; then
action=${cmd#* }
echo -e "\033[0;33;1m$action\033[0m"
# skip shortcut
shift 1
eval $action $@
exit $?
fi
done
# if no cmd matched, echoHelp
echoHelp