Skip to content

Instantly share code, notes, and snippets.

@christopherperry
Created July 30, 2012 16:12
Show Gist options
  • Select an option

  • Save christopherperry/3208109 to your computer and use it in GitHub Desktop.

Select an option

Save christopherperry/3208109 to your computer and use it in GitHub Desktop.
A bash script that let's you issue adb commands to multiple devices at once
#!/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
@trebouillon

trebouillon commented Oct 26, 2016

Copy link
Copy Markdown

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.

@sivze

sivze commented Apr 13, 2017

Copy link
Copy Markdown

No script needed.
This command works perfect
adb devices | awk 'NR>1{print $1}' | xargs -n1 -I% adb -s % install foo.apk

@probsJustin

Copy link
Copy Markdown

thebagchi
Thank you for sharing your .bat I look forward to testing it.

@ceaztheday

Copy link
Copy Markdown

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?

@gamesguru

Copy link
Copy Markdown

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

@Nisim761

Copy link
Copy Markdown

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.

@joshuapinter

Copy link
Copy Markdown

@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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment