源码:
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对象来操作振动器。