如果连接了多个仿真器/设备,是否可以安装apk文件

Shr*_*jan 88 android emulation adb android-emulator

我知道如何通过命令提示符将apk文件安装到模拟器中.但我想知道是否有可能通过给出任何具体的名称安装相同的apk文件到多个模拟器?实际上我必须在许多设备中测试一个apk文件.为此,我已经开始了许多设备.我知道如何安装它.如果所有设备都打开,那么它将无法安装.那么是否有任何替代安装apk文件通过给任何特定的设备模拟器ID或任何名称?如果有任何想法,请帮助我...谢谢.

Moh*_*ikh 238

是的,您可以在特定设备上安装apk.

在命令中,键入:

adb devices
// list of devices and its unique ID...
Run Code Online (Sandbox Code Playgroud)

然后输入:

adb -s "<deviceIDfromlist>" install "<path-to-apk>"
Run Code Online (Sandbox Code Playgroud)

  • 设备 ID 表示那个数字??在设备上显示为 5554 或 5556... 就像 ??? (2认同)
  • 是的,执行adb设备后获得的数字 (2认同)
  • 而且,如果您需要知道哪个设备可以使用`adb devices -l`,它将为您提供有关每个设备的更多信息,如下所示:`c1cd3890098c08f0设备usb:337641472X产品:rubenswifixx型号:SM_T360设备:rubenswifi transport_id:5 0123456789ABCDEF设备USB:336592896X产品:HR935型号:HR935设备:HR935 transport_id:3` (2认同)

Vin*_*yak 9

步骤1:获取设备Ids所有设备连接到设备

adb设备

第2步:安装到要安装的特定设备ypu

adb -s deviceId安装路径+ apk

例:

步骤1:

C:\ Android\android-sdks\platform-tools> adb devices附加模拟器-5554设备列表014FD87107021017设备

第2步:

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

  • 对于 Windows,这是一个快速的 1 行:`FOR /F "skip=1" %x IN ('adb devices') DO start adb -s %x install -r myandroidapp.apk` 。如果你打算将它包含在一个批处理文件,用 %%x 替换 %x,如:`FOR /F "skip=1" %%x IN ('adb devices') DO start adb -s %%x install -r myandroidapp.apk` (2认同)

Dre*_*rew 6

可以在所有连接的设备上同时发出安装命令.

关键是adb在一个单独的过程(&)中启动.

我想出了以下脚本,同时在我的所有连接设备上启动安装,最后在每个设备上启动已安装的应用程序:

#!/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"
Run Code Online (Sandbox Code Playgroud)

注1: STDOUT和STDERR被抑制.您将看不到任何"adb install"操作结果.如果你真的需要,我想,这可能会有所改善

注意2:您还可以通过提供args而不是硬编码的路径和活动名称来改进脚本.

那样你:

  1. 不必在每台设备上手动执行安装
  2. 不必等待一个安装完成以执行另一个安装(adb任务并行启动)


mlc*_*622 5

使用以下脚本在多个设备/模拟器上安装apk。

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

如果不重新安装apk,请删除-r。您也可以将“ install -r /path/to/product.apk”替换为其他adb命令,例如在单个设备上工作。

它适用于我在真实设备上使用的设备,但我认为它也应适用于仿真器。