你是想用代码实现吗?
你可以启动多个线程,在线程里面进行安装,这样可以同时多个手机安装;
也可以写方法,在方法里面进行安装,这样是顺序安装;
主要方法是:调用 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();
}
}
我现在也是在做这样的东西,欢迎继续讨论,相互学习。
主要方法是:调用 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();
}
}
写了一个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
-s
the given
这是adb命令的一个参数,可以用这个参数指定手机啊
adb -s id1 push myapk /system/app
adb -s id2 push myapk /system/app
../将这些写道脚本里执行即可
用adb devices 查询手机的iD
你直接下一个Total Control,用电脑群控手机不就得了,还可以在这个TC里执行自动化脚本