29 lines
879 B
Bash
Executable file
29 lines
879 B
Bash
Executable file
#!/bin/bash
|
|
THIS_LOCATION="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
|
|
# Get native library path on host
|
|
nativelib=$1
|
|
if [ -z "$nativelib" ]; then
|
|
echo "Native library was not specified"
|
|
exit 1
|
|
fi
|
|
if [ ! -f "$nativelib" ]; then
|
|
echo "Specified '$nativelib' native library can not be found."
|
|
exit 1
|
|
fi
|
|
|
|
# Get pid of our process
|
|
pid=`adb shell ps | grep 'net.osmand' | head -n1 | awk '{print $2}'`
|
|
package=`adb shell ps | grep 'net.osmand' | head -n1 | awk '{print $9}'`
|
|
echo "OsmAnd package: $package"
|
|
echo "OsmAnd pid: $pid"
|
|
|
|
# Launch gdbserver on target
|
|
adb shell run-as $package /data/data/$package/lib/gdbserver :5039 --attach $pid &
|
|
|
|
# Forward port
|
|
adb forward tcp:5039 tcp:5039
|
|
|
|
# Launch gdb on host
|
|
echo "Execute manually in gdb: target remote :5039"
|
|
"$ANDROID_NDK/toolchains/arm-linux-androideabi-4.7/prebuilt/windows/bin/arm-linux-androideabi-gdb" $nativelib
|