zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

Android qemu pipe高速管道(九)

Android 管道 高速 pipe QEMU
2023-09-14 09:16:05 时间

介绍

Android 模拟器实现了一个特殊的虚拟设备,用于提供客户 Android 系统和模拟器本身 非常 快速的通信通道。

在客户 Android 系统端,用法非常简单,如下:

1/ 打开 /dev/qemu_pipe 设备文件来读和写
注意:自 Linux 3.10 开始,设备被重命名为了 /dev/goldfish_pipe,但行为完全一样。

2/ 写入描述你想要连接的服务,且以 0 结束的字符串。

3/ 简单地使用 read() 和 write() 来与服务通信。

换句话说:

 

1

2

3

4

5

6

7

 

fd = open("/dev/qemu_pipe", O_RDWR);

const char* pipeName = "<pipename>";

ret = write(fd, pipeName, strlen(pipeName)+1);

if (ret < 0) {

// error

}

... ready to go

其中 <pipename> 是你想要使用的特定模拟器服务的名字。本文档在后面列出了支持的模拟器服务的名字。

实现细节

在模拟器的源码树中: