一台PC连接多个Android手机,使用adb命令可以给这多台手机同时安装一个apk,这样可以实现吗?怎么写?
答案:3 悬赏:0 手机版
解决时间 2021-01-19 18:16
- 提问者网友:战魂
- 2021-01-19 09:43
一台PC连接多个Android手机,使用adb命令可以给这多台手机同时安装一个apk,这样可以实现吗?怎么写?
最佳答案
- 五星知识达人网友:你可爱的野爹
- 2021-01-19 11:18
主要方法是:调用 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 -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();
}
}
全部回答
- 1楼网友:往事埋风中
- 2021-01-19 12:21
-s - 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
the given
这是adb命令的一个参数,可以用这个参数指定手机啊
adb -s id1 push myapk /system/app
adb -s id2 push myapk /system/app
../将这些写道脚本里执行即可
用adb devices 查询手机的iD
- 2楼网友:痴妹与他
- 2021-01-19 12:14
你是想用代码实现吗?
你可以启动多个线程,在线程里面进行安装,这样可以同时多个手机安装;
也可以写方法,在方法里面进行安装,这样是顺序安装;
主要方法是:调用 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();
}
}
我现在也是在做这样的东西,欢迎继续讨论,相互学习。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯