安卓驱动开发之-(二)硬件访问服务_框架
2016-10-07 02:38
381 查看
安卓驱动中怎么实现硬件访问服务?
一、先从安卓源码中分析一下振动器服务的的流程。
(1)、打开SystemServer.java (\frameworks\base\services\java\com\android\server)
该函数主要注册了一个JNI的本地方法。
(2)、打开Onload.cpp (\frameworks\base\services\core\jni)
调用com_android_server_VibratorService.cpp (\frameworks\base\services\core\jni)注册native方法:
(3)、打开SystemServer.java (\frameworks\base\services\java\com\android\server)
实例化VibratorService对象,add新的service
(4)、打开VibratorService.java (\frameworks\base\services\core\java\com\android\server)
二、总结下该流程以熟悉的LED为例
(1)、编写JNI和HAL
--com_android_server_LedService.cpp 注册本地方法
--hal_led.c 实现open、read、write等
(2)、修改Onload.cpp调用注册服务
(3)、修改SystemServer.java实例化并添加LedService
(4)、实现LedService.java调用本地方法
(5)、实现ILedService.java函数供APP调用
一、先从安卓源码中分析一下振动器服务的的流程。
(1)、打开SystemServer.java (\frameworks\base\services\java\com\android\server)
该函数主要注册了一个JNI的本地方法。
(2)、打开Onload.cpp (\frameworks\base\services\core\jni)
调用com_android_server_VibratorService.cpp (\frameworks\base\services\core\jni)注册native方法:
(3)、打开SystemServer.java (\frameworks\base\services\java\com\android\server)
实例化VibratorService对象,add新的service
(4)、打开VibratorService.java (\frameworks\base\services\core\java\com\android\server)
二、总结下该流程以熟悉的LED为例
(1)、编写JNI和HAL
--com_android_server_LedService.cpp 注册本地方法
--hal_led.c 实现open、read、write等
(2)、修改Onload.cpp调用注册服务
(3)、修改SystemServer.java实例化并添加LedService
(4)、实现LedService.java调用本地方法
(5)、实现ILedService.java函数供APP调用
相关文章推荐
- 安卓驱动开发之-(二)硬件访问服务_编写系统代码
- andriod驱动之旅-在Ubuntu上为Android系统的Application Frameworks层增加硬件访问服务(7)
- Linux2.6.32驱动笔记(1)驱动开发概述及硬件访问技术
- Android驱动(一)硬件访问服务学习之(三)Android加入HAL层访问硬件
- Android硬件访问服务框架思想初识
- Linux 驱动开发前奏---驱动开发概述、硬件访问技术
- 开发Android应用程序来使用硬件访问服务
- Android硬件访问服务框架
- android之硬件访问服务框架
- 安卓电话和网络开发全解:电话硬件检测、电话服务信息、sim信息、网络服务信息、数据连接和数据传输信息、电话状态监听
- 开发Android硬件访问服务
- Android硬件访问服务框架分析
- 硬件访问服务4之Android硬件访问服务框架及系统函数全详细实现
- HAL(4) -- 开发android源码硬件访问服务和应用测试程序
- Android 系统源码情景分析读书笔记(1)----开发Android 硬件访问服务
- 嵌入式学习-驱动开发前奏-lesson4-驱动分类和硬件访问相关
- Android驱动入门-LED--HAL硬件访问服务层②
- Android系统中硬件访问服务框架(JNI HAL)及实例
- Android驱动(一)硬件访问服务学习之(四)Android应用程序APP编写