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)
步骤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
可以在所有连接的设备上同时发出安装命令.
关键是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而不是硬编码的路径和活动名称来改进脚本.
那样你:
使用以下脚本在多个设备/模拟器上安装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命令,例如在单个设备上工作。
它适用于我在真实设备上使用的设备,但我认为它也应适用于仿真器。
| 归档时间: |
|
| 查看次数: |
59730 次 |
| 最近记录: |