一台PC连接多个Android手机,使用adb命令可以给这多台手机同时安装一个apk,这样可以实现吗?怎么写?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一台PC连接多个Android手机,使用adb命令可以给这多台手机同时安装一个apk,这样可以实现吗?怎么写?相关的知识,希望对你有一定的参考价值。

最好能做成.bat的,如果不行的话,能否用其他语言实现?

你是想用代码实现吗?
你可以启动多个线程,在线程里面进行安装,这样可以同时多个手机安装;
也可以写方法,在方法里面进行安装,这样是顺序安装;
主要方法是:调用 adb install + apk的绝对路径名;
如果有多部手机,调用adb -s + 手机编号(如果不知道怎么获取,请继续回复)+ install + apk绝对路径;
在代码里执行:Runtime.getRuntime().exec(
"adb -s " + devName + " install " + apkAddress);

private void installApkToMobile(String devName, String apkAddress)

Process process = null;
String buff = "";
try

process = Runtime.getRuntime().exec(
"adb -s " + devName + " install " + apkAddress);
BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream(), "utf-8"));
while ((buff = br.readLine()) != null)

print(buff);
if (buff.contains("INSTALL_FAILED_ALREADY_EXISTS"))

print(devName + "已安装");


br.close();
catch (IOException e)

e.printStackTrace();



我现在也是在做这样的东西,欢迎继续讨论,相互学习。
参考技术A 主要方法是:调用 adb install + apk的绝对路径名;
如果有多部手机,调用adb -s + 手机编号(如果不知道怎么获取,请继续回复)+ install + apk绝对路径;
在代码里执行:Runtime.getRuntime().exec(
"adb -s " + devName + " install " + apkAddress);

private void installApkToMobile(String devName, String apkAddress)

Process process = null;
String buff = "";
try

process = Runtime.getRuntime().exec(
"adb -s " + devName + " install " + apkAddress);
BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream(), "utf-8"));
while ((buff = br.readLine()) != null)

print(buff);
if (buff.contains("INSTALL_FAILED_ALREADY_EXISTS"))

print(devName + "已安装");


br.close();
catch (IOException e)

e.printStackTrace();

参考技术B 写了一个shell脚本,应该能完成你的要求,顺序执行。

#!/bin/bash
array=($(adb devices | grep ".device$"))
i=0
length=$#array[@]
while [ "$i" -lt "$length" ];do
if
((i%2!=0))
then
unset array[i]
fi
((i++))
done

((length++))
for var in "$array[@]"
do
#你要执行的adb 操作,例如
adb -s $var install apk绝对路径

done
参考技术C -s <specific device> - directs command to the device or emulator with
the given

这是adb命令的一个参数,可以用这个参数指定手机啊
adb -s id1 push myapk /system/app
adb -s id2 push myapk /system/app

../将这些写道脚本里执行即可

用adb devices 查询手机的iD
参考技术D 你直接下一个Total Control,用电脑群控手机不就得了,还可以在这个TC里执行自动化脚本

adb命令无法连接安卓设备

RT,求解啊

ADB连接Android设备的三种方法

连接方式有三种方法:
一、WiFi连接(手机与pc同一个局域网下)
二、USB数据线连接
此种连接要有相应的驱动才行(应该安装phoenixsuit就可以通过数据线来通过adb连接设备,有的不用安装
三、串口连接

使用串口设备与电脑连接。
USB 数据线连接
通过 USB 连接来正常使用 adb 需要保证几点:

硬件状态正常,包括 Android 设备处于正常开机状态,USB 连接线和各种接口完好。未识别到设备的话,有可能需要安装phoenixsuit软件,专门用来升级之类的用驱动。
确保Android 设备的开发者选项和 USB 调试模式已开启:
「设置」-「开发者选项」-「Android 调试」查看。开发者选项,点允许usb调试,然后就可以连上电脑了
如果在设置里找不到开发者选项,在「设置」-「关于手机」连续点击「版本号」7 次。
cmd框键入#adb devices命令查看设备连接情况
表示连接上手机了
无线连接(需要借助 USB 线)
除了可以通过 USB 连接设备与电脑来使用 adb,也可以通过无线连接,一定范围内摆脱 USB 连接线的限制啦!

操作步骤:

将 Android 设备与要运行 adb 的电脑连接到同一个局域网,比如连到同一个 WiFi。将设备与电脑通过 USB 线连接。

应确保连接成功(可运行 adb devices 看是否能列出该设备)。

让设备在 5555 端口监听 TCP/IP 连接:

开发者选项,点允许usb调试
如果连接不了,请确认 Android 设备与电脑是连接到了同一个 WiFi,然后再次执行 adb connect 那一步;
如果还是不行的话,通过 adb kill-server 重新启动 adb 然后从头再来一次试试。

断开无线连接

连不上可以试试下面方法。

解决办法

第一步:Android设备开启USB调试,并且通过USB线连接到电脑。

第二步:在终端执行以下命令”adb tcpip 5555“。

第三步:在终端执行以下命令”adb connect 192.168.1.110“(192.168.1.110为Android设备的IP地址)。此时拔出USB线,应该就可以adb通过wifi调试Android设备。
参考技术A 主要是检查一下实用的驱动,没按好是不可以的。 参考技术B 你用线刷宝这个软件试试?里面有adb指令的操作 参考技术C 那个连接设备那谁会连接?那都得通过修电脑的,会连接我们一般连不上不会cl两上不说明白不知道哪里

以上是关于一台PC连接多个Android手机,使用adb命令可以给这多台手机同时安装一个apk,这样可以实现吗?怎么写?的主要内容,如果未能解决你的问题,请参考以下文章

androidstudio中使用adb命令进行无线调试

哪位说说如何用androidadb连接手机

如何用adb连接android手机

adb工具如何连接手机安装apk

adb工具如何连接手机安装apk

adb命令无法连接安卓设备