android Qemu GPS 模块简明分析

Android系统的GPS功能通常由system/lib/hw/gps.default.so实现,而在QEMU环境中,这个模块被模拟为gps_qemu.c。QEMU外部创建了一个GPS设备,通过管道与Android系统通信。QEMU GPS接口定义在gps_qemu.c中,负责处理管道交互并提供Android所需的GPS功能。GPS模块规定必须在其回调中创建线程(gps_state_thread),该线程会在Java虚拟机上运行,用于回调Java层的函数。
摘要由CSDN通过智能技术生成

Android 的 gps module 是  gps.default.so 在system/lib/hw/ 目录上, 一般提供gps功能的手机应该实现这个module和真实gps硬件交互

Qemu中gps就是要构造一个gps.default.so,  但这个so并不和真的硬件打交道,只是个模拟接口,其代码在sdk/emulator/gps/gps_qemu.c中


Qemu 容器外部实现了一个gps设备,但这个设备和 Android 交互只能通过管道,所以gps_qemu.c的功能就是同管道打交道,并提供Android需要的gps functions, 如下:

static const GpsInterface qemuGpsInterface = {

    sizeof(GpsInterface),
    qemu_gps_init,
    qemu_gps_start,
    qemu_gps_stop,
    qemu_gps_cleanup,
    qemu_gps_inject_time,
    qemu_gps_inject_location,
    qe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值