Is it possible to install APK file if more than one emulators/devices are connected

AndroidAndroid EmulatorEmulationAdb

Android Problem Overview


I know how to install the apk file in to the emulator by command prompt and all that. But i want to know is it possible to install same apk file in to multiple emulator by giving any specific name ? Actually i have to test one apk file in to many device. and for that i have started many device. I know how to install it. if the all device are open then it will not get install. So is there any alternate to install that apk file by giving any specific device Emulator id or any name ??? Please help me if there is any idea for it. . . Thanks.

Android Solutions


Solution 1 - Android

Yes, you can install an apk on a particular device.

In command, type:

adb devices
// list of devices and its unique ID...

Then type:

adb -s "<deviceIDfromlist>" install "<path-to-apk>"

Solution 2 - Android

Step 1: Get the device Ids of all connected device

adb devices

Step 2: Install to a particular device you want to install

adb -s deviceId install path+apk

Example:

Step 1:

C:\Android\android-sdks\platform-tools>adb devices

> List of devices attached emulator-5554 device 014FD87107021017
> device

Step 2:

C:\Android\android-sdks\platform-tools>adb -s 014FD87107021017 install C:\Users\
user\Documents\appname.apk

Solution 3 - Android

Use the following scripts to install apk on multiple devices/emulators.

    for SERIAL in $(adb devices | grep -v List | cut -f 1);
    do adb -s $SERIAL install -r /path/to/product.apk;
    done

Remove -r if you are not reinstalling the apk. Also you can replace "install -r /path/to/product.apk" to other adb commands like working on one single device.

It works for me on real devices but I believe it should also works for emulators.

Solution 4 - Android

It is possible to issue install command simultaneously on all connected devices.

The key is to launch adb in a separate process (&).

I came up with the following script to simultaneously fire-off installation on all of the connected devices of mine and finally launch installed application on each of them:

#!/bin/sh

function install_job { 
    
    adb -s ${x[0]} install -r PATH_TO_YOUR_APK
    adb -s ${x[0]} shell am start -n "com.example.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER

}


#iterate over devices IP-addresses or serial numbers and start a job 

while read LINE
do
    eval x=($LINE)
    install_job ${x[0]} > /dev/null 2>&1 &
done <<< "`adb devices |  cut -sf 1`"

echo "WATING FOR INSTALLATION PROCESSES TO COMPLETE"
wait

echo "DONE INSTALLING"

Note 1: the STDOUT and STDERR are suppressed. You won't see any "adb install" operation result. This may be improved, I guess, if you really have to

Note 2: you could also improve script by providing args instead of hardcoded path and activity names.

That way you:

  1. Don't have to manually perform install on each device
  2. Don't have to wait for one install to finish in order to execute another one (adb tasks are launched in parallel)

Solution 5 - Android

yes you can install your apk file in multiple emulator for that you have to give the name in command prompt here is the link for guidance

http://developer.android.com/guide/developing/tools/emulator.html

Solution 6 - Android

You can install on multiple devices at a time using USB debugging.

In Eclipse Run--> Run Configurations --> choose your project (on left) -->Target --> Launch on All compatible devices.

The selected project will be installed on all the connected devices

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionShreyash MahajanView Question on Stackoverflow
Solution 1 - AndroidMohammed Azharuddin ShaikhView Answer on Stackoverflow
Solution 2 - AndroidVinayakView Answer on Stackoverflow
Solution 3 - Androidmlchen850622View Answer on Stackoverflow
Solution 4 - AndroidDrewView Answer on Stackoverflow
Solution 5 - AndroidPratikView Answer on Stackoverflow
Solution 6 - AndroidVinayView Answer on Stackoverflow