欢迎来到天天文库
浏览记录
ID:32695636
大小:585.50 KB
页数:77页
时间:2019-02-14
《android的电话功能介绍——整个ril文件夹的分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Android的电话功能介绍——整个RIL文件夹的分析介绍本文档对AndroidRIL部分的内容进行了介绍,其重点放在了AndroidRIL的原生代码部分。包括四个主题:1.AndroidRIL框架介绍2.AndroidRIL与WindowsMobileRIL3.AndroidRILporting4.AndroidRIL的java框架在本文档中将Android代码中的重要模块列出进行分析,并给出了相关的程序执行流程介绍,以加深对模块间交互方式的理解。对于java代码部分,这里仅进行简单的介绍。如果需要深入了解,可以查看相关参考资料。本文档中还对AndroidRIL的Porting部分
2、内容进行了描述和分析。针对对Linux操作系统环境并不熟悉的读者,本文档中所涉及到的相关知识包括: Linuxfilesystem Linuxsocket Linuxthread Linux 下I/O多路转接以上信息可以在任意一份描述Linux系统调用的文档中找到。1.AndroidRIL框架介绍术语:fd Linux文件描述符pipe Linux管道cond 一般是conditionvariable的缩写tty
3、通常使用tty来简称各种类型的终端设备unsolicitedresponse 被动请求命令来自basebandeventloop android的消息队列机制,由Linux的系统调用select()实现init.rc init守护进程启动后被执行的启动脚本。HAL 硬件抽象层(HardwareAbstractionLayer,HAL)1.1AndroidRIL概况:AndroidRIL提供了无线硬件设备与电话服务之间的抽象层。下图展示了RIL在Android体系
4、中的位置。77/77android的ril位于应用程序框架与内核之间,分成了两个部分,一个部分是rild,它负责socket与应用程序框架进行通信。另外一个部分是VendorRIL,这个部分负责向下是通过两种方式与radio进行通信,它们是直接与radio通信的AT指令通道和用于传输包数据的通道,数据通道用于手机的上网功能。 对于RIL的java框架部分,也被分成了两个部分,一个是RIL模块,这个模块主要用于与下层的rild进行通信,另外一个是Phone模块,这个模块直接暴露电话功能接口给应用开发用户,供他们调用以进行电话功能的实现。1.2AndroidRIL目录结构:Android
5、的RIL模块位于Android/hardware/ril文件夹,有三个子模块:rild,libril,reference-ril所在目录结构:/hardware/ril/
6、--ril (无线电抽象层)
7、
8、--include (头文件)
9、
10、--libril (库)
11、
12、--reference-cdma-sms(cdma短信参考)
13、
14、--reference-ril (ril参考)
15、
16、--rild (ril后台服务程序)hardware/ril$ls77/77include libril reference-cdma-sms reference-
17、ril rild 1.hardware/ril/rild$lsAndroid.mk MODULE_LICENSE_APACHE2 NOTICE radiooptions.c rild.c2.hardware/ril/include/telephony$lsril_cdma_sms.h ril.h3.hardware/ril/libril$lsAndroid.mk NOTICE ril_event.h ril.cpp ril_event.cpp ril_commands.h ril_unsol_commands.hMOD
18、ULE_LICENSE_APACHE2 4.hardware/ril/reference-cdma-sms$lsAndroid.mk reference-cdma-sms.c reference-cdma-sms.h5.hardware/ril/reference-ril$lsAndroid.mk atchannel.h at_tok.h misc.h NOTICE atchannel.c at_tok.c ril_event.h
此文档下载收益归作者所有