-
-
Save christopherperry/3208109 to your computer and use it in GitHub Desktop.
#!/bin/bash | |
# Script adb+ | |
# Usage | |
# You can run any command adb provides on all your currently connected devices | |
# ./adb+ <command> is the equivalent of ./adb -s <serial number> <command> | |
# | |
# Examples | |
# ./adb+ version | |
# ./adb+ install apidemo.apk | |
# ./adb+ uninstall com.example.android.apis | |
adb devices | while read line | |
do | |
if [ ! "$line" = "" ] && [ `echo $line | awk '{print $2}'` = "device" ] | |
then | |
device=`echo $line | awk '{print $1}'` | |
echo "$device $@ ..." | |
adb -s $device $@ | |
fi | |
done |
I had the same issue like above and found some inspiration here: http://stackoverflow.com/questions/17047659/bash-enumerate-all-the-attached-devices
I changed my script to:
for line in `adb devices | grep -v "List" | awk '{print $1}'`
do
device=`echo $line | awk '{print $1}'`
echo "$device $@ ..."
adb -s $device $@
done
This works for me.
No script needed.
This command works perfect
adb devices | awk 'NR>1{print $1}' | xargs -n1 -I% adb -s % install foo.apk
thebagchi
Thank you for sharing your .bat I look forward to testing it.
Hi guys, how do I get started? Do I drop the file in platform-tools and it's ready to go? Simply use adb+ followed by commands?
shell commands do not work with multiple devices. Shell commands only hit the first device. Non shell commands, such as install, push and pull work fine on multiple devices
adb devices | awk 'NR>1{print $1}' | xargs -n1 -I% adb -s % install foo.apk
Thank you very much! Works perfectly fine, exactly what i was looking for.
@sivze You're right, this command does work perfectly. Thanks for the simple solution!
No script needed.
This command works perfect
adb devices | awk 'NR>1{print $1}' | xargs -n1 -I% adb -s % install foo.apk
This has stopped working for me. For some reason my terminal is only reading the first line. Below is my adjusted code to debug and also my output.
It still works fine with one device. If multiple are connected it will only send the command to the first device listed.
filename = adb+
command issued:
adb+ shell input text win
expected outcome: the string "win" typed on to every device connected.
//~~~~~~~~~ Code ~~~~~~~~~~
//~~~~~~~~ Output~~~~~~~~~