![](/img/trans.png)
[英]How to get a list of devices connected to an Android device from adb shell
[英]programmatically obtain a list of android devices connected to adb
有什么办法以编程方式获取连接到adb的android设备列表吗?
我想在Java桌面应用程序上执行此操作。 我有adb.exe的路径,但是在“ adb设备”响应上进行解析似乎不是最好的主意。
有没有更可靠的方法?
最佳解决方案取决于您将如何处理列表。 如果要在找到的设备上运行一些adb命令-解析adb devices
输出是显而易见的选择。 另一个选择是遍历USB堆栈并使用枚举的ADB接口收集设备的序列号。 或我最喜欢的一个-在Linux下,我只创建了一个自定义udev
规则,该规则可跟踪所有连接的ADB设备。 我的数据库正在使用中,但是它可能很简单,例如为每个ADB设备创建一个符号链接,然后检查文件列表。
这就是我的做法
try {
Process process = Runtime.getRuntime().exec("adb devices");
BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = null;
Pattern pattern = Pattern.compile("^([a-zA-Z0-9\\-]+)(\\s+)(device)");
Matcher matcher;
while ((line = in.readLine()) != null) {
if (line.matches(pattern.pattern())) {
matcher = pattern.matcher(line);
if (matcher.find())
System.out.println(matcher.group(1));
}
}
} catch (IOException e) {
e.printStackTrace();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.