Android模拟器与主机进程的高性能双向通信可行方案问询
主机与Android模拟器用户态进程的高性能跨平台通信方案咨询
我正在开展一个项目,需要在Android模拟器上运行的用户态进程与主机上的另一个进程间建立可靠、低延迟、高吞吐量的双向通信通道。目标平台为macOS和Windows,优先跨平台方案,必要时可分别适配两种平台。TCP/IP作为备选,但希望尝试更适配场景的其他途径。
目前我已调研了几种选项,但均未满足需求:
Android Goldfish管道
旧文档提到Goldfish Pipe是主机与来宾进程间的快速传输机制,该管道暴露名为unix:的服务,可在主机上打开UNIX domain socket,但尝试后无响应,推测该服务已被更优方案替代。注意到qemud(其他服务的多路复用器)有响应,但不清楚如何利用。
ivshmem
该方案仅支持Linux主机,曾找到过一个移植到macOS的尝试项目,但已无人维护。由于项目要部署到客户端电脑,安装内核扩展并非可行选项,因此排除该方案。
vsock
尝试相关实现时,打开AF_VSOCK套接字收到ENODEV错误。XNU源码中有AF_VSOCK的相关痕迹,但不确定macOS是否真的支持;同时也不了解其Windows平台的支持情况。
现咨询:
- 主机进程与Android模拟器进程间的双向高性能通信有哪些可行选项?
- 各方案的权衡点是什么?
这类需求在Qemu的发展历程中应该已有其他开发者遇到,我怀疑自己遗漏了一些基础解决方案。
内容的提问来源于stack exchange,提问作者Murat Şeker
相关产品推荐
相关产品推荐

