Skip to content

Instantly share code, notes, and snippets.

@ktnr74
Last active December 9, 2018 19:56
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save ktnr74/33029fba8233f9a7879c to your computer and use it in GitHub Desktop.
Save ktnr74/33029fba8233f9a7879c to your computer and use it in GitHub Desktop.
more adb helper functions for bash
#!/bin/bash
ListAndroidSYSFS () { find -L /sys/bus/usb/devices -maxdepth 2 -path "*/modalias" -printf "%h\t" -exec cat {} \; | awk -F: '/icFFisc42ip0/ {print $1}'; }
ListAndroidSYSFSderef () { ListAndroidSYSFS | xargs -i readlink -f {}; }
ListAndroidSerials () { ListAndroidSYSFS | xargs -i cat {}/serial; }
ListAndroidVendorIDs () { ListAndroidSYSFS | xargs -i cat {}/idVendor | awk '{printf "0x%s\n", $1}' | sort -u; }
ListAndroidUSBDevices () { ListAndroidSYSFS | xargs -i cat {}/busnum {}/devnum | awk '{printf "/%03d", $1}' | sed -e 's#.\{8\}#/dev/bus/usb&\n#g'; }
ADBShell () { adb ${2+-s} $2 shell "$1" | tr -d '\r'; }
ADBExec () { adb ${2+-s} $2 exec-out "$1"; }
ADBServicePackageName () { ADBShell "service list" $2 | sed 's/^[0-9]\{1,3\}\t\([^:]*\): \[\([^]]*\)\].*/\1 \2/' | awk '/^'$1' / {print $2}' | head -n 1; }
ADBListPackages () { ADBShell "pm list packages" $1 | awk -F: '/^package:/{print $2} '; }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment