is it possible to Install apk file if more then on

2019-01-30 05:23发布

问题:

This question already has an answer here:

  • How to use ADB Shell when Multiple Devices are connected? Fails with “error: more than one device and emulator” 9 answers

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.

回答1:

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>"


回答2:

step 1: Get the device Ids all device connected to device

adb devices

step 2: Install to particular device ypu 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



回答3:

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)


回答4:

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.



回答5:

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



回答6:

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