Is it possible to install APK file if more than one emulators/devices are connected
我知道如何通过命令提示符将apk文件安装到模拟器中。
但我想知道是否有可能通过给出任何具体的名称安装相同的apk文件到多个模拟器?
实际上我必须在许多设备中测试一个apk文件。 为此,我已经开始了许多设备。 我知道如何安装它。 如果所有设备都打开,那么它将无法安装。 那么是否有任何替代安装apk文件通过给任何特定的设备模拟器ID或任何名称?
如果有任何想法,请帮助我。。。
谢谢。
是的,您可以在特定设备上安装apk。
在命令中,键入:
1 2 | adb devices // list of devices and its unique ID... |
然后输入:
1 | adb -s"<deviceIDfromlist>" install"<path-to-apk>" |
步骤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
用户文档 appname.apk
可以在所有连接的设备上同时发出安装命令。
关键是在单独的进程(&amp;)中启动
我想出了以下脚本,同时在我的所有连接设备上启动安装,最后在每个设备上启动已安装的应用程序:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #!/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" |
注1:STDOUT和STDERR被抑制。您将看不到任何"adb install"操作结果。如果你真的需要,我想,这可能会有所改善
注意2:您还可以通过提供args而不是硬编码的路径和活动名称来改进脚本。
那样你:
使用以下脚本在多个设备/模拟器上安装apk。
1 2 3 | for SERIAL in $(adb devices | grep -v List | cut -f 1); do adb -s $SERIAL install -r /path/to/product.apk; done |
如果您没有重新安装apk,请删除-r。您还可以将"install -r /path/to/product.apk"替换为其他adb命令,例如在单个设备上工作。
它适用于我的真实设备,但我相信它也适用于模拟器。
是的,你可以在多个模拟器中安装你的apk文件,你必须在命令提示符中给出名称这里是指导链接
http://developer.android.com/guide/developing/tools/emulator.html
您可以使用USB调试一次安装在多个设备上。
在Eclipse中
运行 - >运行配置 - >选择项目(左侧) - >目标 - >在所有兼容设备上启动。
所选项目将安装在所有连接的设备上