Fix gdbclient to work with emulator builds
gdbclient got broken by:
https://android-review.googlesource.com/156974
To fix, check for special case when device is actually an emulator,
and set the $DEVICE variable accordingly.
Change-Id: I85d0d520ae1e2ea022aa3e2d08a10cd0b1cb491f
diff --git a/scripts/gdbclient b/scripts/gdbclient
index c170590..2394e18 100755
--- a/scripts/gdbclient
+++ b/scripts/gdbclient
@@ -12,6 +12,15 @@
# as well.
source $ANDROID_BUILD_TOP/build/envsetup.sh
+function adb_get_product_device() {
+ local candidate=`adb shell getprop ro.hardware | tr -d '\r\n'`
+ if [[ "$candidate" =~ ^(goldfish|ranchu)$ ]]; then
+ # Emulator builds use product.device for OUT folder
+ candidate=`adb shell getprop ro.product.device | tr -d '\r\n'`
+ fi
+ echo $candidate
+}
+
# returns 0 when process is not traced
function adb_get_traced_by() {
echo `adb shell cat /proc/$1/status | grep -e "^TracerPid:" | sed "s/^TracerPid:\t//" | tr -d '\r\n'`
@@ -37,7 +46,7 @@
echo "Usage: gdbclient <pid|processname> [port number]"
return -1
fi
- local DEVICE=`adb shell getprop ro.hardware | tr -d '\r\n'`
+ local DEVICE=$(adb_get_product_device)
if [ -z "$DEVICE" ]; then
echo "Error: Unable to get device name. Please check if device is connected and ANDROID_SERIAL is set."