目前,当我运行adb devices
时,它会给我一个类似于:
emulator-5554 device
emulator-5556 device
我的目标是找到一个可以在shell中运行的命令,该命令将设备名称作为参数,例如Nexus7
并返回相应的设备序列,例如emulator-5554
。如果那是不可能的,我希望能够有一个函数以emulator-5554
作为参数并返回Nexus7
(与前一个函数相反的方向),然后我将遍历所有adb devices
中的设备,并确定哪一个匹配Nexus7
。
更新
我找到了一个解决方法,当我启动avd时指定端口号,然后我知道哪个模拟器映射到哪个avd名称,但理想情况下我仍然想知道这里的答案。
答案 0 :(得分:7)
使用telnet可以模拟器。不幸的是,它不是一个单独的命令,但一般来说,可以使用shell自动执行它。这是基本的想法:
查找模拟器的端口号(5554):
$ adb devices
List of devices attached
emulator-5554 device
Telnet to emulator:
$ telnet localhost 5554
Trying 127.0.0.1...
Connected to localhost.
...
OK
avd name
Nexus7
Nexus7 是avd名称。
另请参阅此答案,了解如何在一行中进行telnet: https://stackoverflow.com/a/5608081
答案 1 :(得分:0)
adb devices
输出