我使用VirtualBox运行Android-x86 7.1
。我希望adb connect
从主持人到访客。对于adb设备,我经历了一种非常随机的行为。一旦虚拟机运行,就有可能出现名为emulator-5554
的模拟器。有时它被列出,有时它不是。使用adb connect 127.0.0.1
连接到设备会产生以下结果:
emulator-5554
,则设备127.0.0.1:5555
会被标记为offline
,但无法使用。那么必须使用emulator-5554
。emulator-5554
,我可以毫无问题地使用设备127.0.0.1:5555
。 adb devices -l
显示模拟器来自虚拟机:device product:android_x86_64 model:VirtualBox device:x86_64 transport_id:1
即使emulator-5554
工作正常,我也可以与虚拟机通信,但我不能依赖它,因为我想自动化。 127.0.0.1
由我的VirtualBox网络配置提供。名称emulator-5554
似乎是随机的,可能会发生变化。因此,我需要使用adb connect 127.0.0.1
,这在模拟器联机时是不可能的。
Attatched to: NAT
Port forwarding
:
ADB#1
,协议:TCP
,主机IP:127.0.0.1
,主机端口:5555
,访客IP:10.0.2.15
,访客端口:{ {1}} 5555
,协议:ADB#2
,主机IP:TCP
,主机端口:127.0.0.1
,访客IP:5554
,访客端口:{ {1}} 10.0.2.15
未选中当前的方法由我所做的所有当前设置表示,这些设置仍会导致随机出现5554
。
使用Enable USB Controller
& emulator-5554
也没有任何效果。
我可以做些什么来阻止adb kill-server
启动并因此出现在adb -s emulator-5554 emu kill
中?
答案 0 :(得分:1)
我可以使用以下端口转发规则解决问题。
Attatched to: NAT
Port forwarding
:
ADB#1
,协议:TCP
,主机IP:留空,主机端口:55551
,访客IP:留空,访客端口:5555
ADB#2
,协议:TCP
,主机IP:留空,主机端口:55541
,访客IP:留空,访客端口:5554
因此,我的第一种方法的不同之处在于将主机和来宾IP留空,以及为主机和来宾端口选择不同的端口。