summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorParménides GV <parmegv@sdf.org>2013-05-28 17:18:49 +0200
committerParménides GV <parmegv@sdf.org>2013-05-28 17:18:49 +0200
commit14935459df410017f97428b0d98e0710b4141b63 (patch)
tree79b3cd8134a813d0a626170f6b3ee03c3942bb8e
parent8cf70d4f69db6326407956a44a54c7fe5530a22c (diff)
debug.sh works without initial big sleep.
I've found the way to detect if the emulator has finished booting, so that I can install and start leap_android without problems. I've moved the last sleep before the pid calculation, because sometimes it wasn't calculated well (I think because I asked for it too soon).
-rwxr-xr-xdebug.sh18
1 files changed, 16 insertions, 2 deletions
diff --git a/debug.sh b/debug.sh
index c3f96ba0..18679368 100755
--- a/debug.sh
+++ b/debug.sh
@@ -9,11 +9,25 @@ avd_name=$1
PROJECT_FOLDER=$2
localport=`expr $RANDOM % 65536`
+wait_until_booted() {
+ OUT=`adb shell getprop init.svc.bootanim`
+ RES="stopped"
+
+ while [[ ${OUT:0:7} != 'stopped' ]]; do
+ OUT=`adb shell getprop init.svc.bootanim`
+# echo 'Waiting for emulator to fully boot...'
+ sleep 5
+ done
+
+ echo "Emulator booted!"
+}
+
emulator -wipe-data @$avd_name & # If you want to test the app from scratch
-sleep 70
+wait_until_booted
adb install -r $PROJECT_FOLDER/bin/LEAP\ Android-debug.apk # Install the new version of the application
adb shell am start -D se.leap.leapclient/.Dashboard # Run app
+sleep 1
pid=`adb shell ps | grep leap | awk '{print $2}'` # Identify the process id (pid) of the current leapclient process instance
+echo forwarding tcp:$localport to jwdp:$pid
adb forward tcp:$localport jdwp:$pid
-sleep 3
jdb -sourcepath $PROJECT_FOLDER/src/ -attach localhost:$localport