android硬件访问服务分析-vibrator

本文详细分析了Android系统的Vibrator服务,从Vibrator.java到VibratorService.java,再到SystemServer.java,揭示了服务的启动和注册过程。通过JNI与HAL交互,实现了对硬件振动器的控制。HAL层的实现包括打开设备模块和调用设备自定义结构体的函数,使得应用程序能够执行振动器的操作。
摘要由CSDN通过智能技术生成

源码:
Vibrator.java (frameworks\base\core\java\android\os)
VibratorService.java (frameworks\base\se rvices\core\java\com\android\server)
SystemServer.java (frameworks\base\services\java\com\android\server)
IVibratorService.aidl(frameworks\base\core\java\android\os)
ServiceManager.java (frameworks\base\core\java\android\os)
SystemVibrator.java(frameworks\base\core\java\android\os)
IVibratorService.java

jni层
Onload.cpp (frameworks\base\services\core\jni)
com_android_server_VibratorService.cpp (frameworks\base\services\core\jni)

hal层
hardware/libhardware/include/hardware/vibrator.c
hardware/libhardware/include/hardware/vibrator.h

JNI 向上提供本地函数, 向下加载HAL文件并调用HAL的函数
HAL 负责访问驱动程序执行硬件操作

SystemServer.java (frameworks\base\services\java\com\android\server)
加载onload.cpp
将VibratorService 添加到serviceManager进程中。
应用app在需要使用的时候。获取vibrator对象来操作振动器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值