- 1、本文档共85页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android中IL层详细分析
Android的电话功能介绍——整个RIL文件夹的分析
介绍
本文档对Android RIL部分的内容进行了介绍,其重点放在了Android RIL的原生代码部分。包括四个主题:
1.Android RIL框架介绍
2.Android RIL与WindowsMobile RIL
3.Android RIL porting
4.Android RIL的java框架
在本文档中将Android代码中的重要模块列出进行分析,并给出了相关的程序执行流程介绍,以加深对模块间交互方式的理解。
对于java代码部分,这里仅进行简单的介绍。如果需要深入了解,可以查看相关参考资料。
本文档中还对Android RIL的Porting部分内容进行了描述和分析。
针对对unix操作系统环境并不熟悉的读者,本文档中所涉及到的相关知识包括:
? Unix file system
? Unix socket
? Unix thread
? Unix?下I/O多路转接
以上信息可以在任意一份描述Unix系统调用的文档中找到。
1.Android RIL框架介绍
术语:
fd??????????????????????? Linux文件描述符
pipe????????????????????? ?Linux管道
cond?????????????????????? 一般是condition variable的缩写
tty??????????????????????? 通常使用tty来简称各种类型的终端设备
unsolicited response???????? ?被动请求命令来自baseband
event loop???????????????? android的消息队列机制,由Linux的系统调用select()实现
init.rc????????????????????? init守护进程启动后被执行的启动脚本。
HAL???????????????????? 硬件抽象层(Hardware Abstraction Layer,HAL)
1.1 Android RIL概况
Android RIL提供了无线硬件设备与电话服务之间的抽象层。下图展示了RIL在Android体系中的位置。
android的ril位于应用程序框架与内核之间,分成了两个部分,一个部分是rild,它负责socket与应用程序框架进行通信。另外一个部分是Vendor RIL,这个部分负责向下是通过两种方式与radio进行通信,它们是直接与radio通信的AT指令通道和用于传输包数据的通道,数据通道用于手机的上网功能。?
对于RIL的java框架部分,也被分成了两个部分,一个是RIL模块,这个模块主要用于与下层的rild进行通信,另外一个是Phone模块,这个模块直接暴露电话功能接口给应用开发用户,供他们调用以进行电话功能的实现。
1.2 Android RIL目录结构
Android的RIL模块位于Android/hardware/ril文件夹,有三个子模块:rild , libril , reference-ril
所在目录结构:/hardware/ril/?
|-- ril???? (无线电抽象层)|?? |-- include??? (头文件)|?? |-- libril??? (库)|?? |-- reference-cdma-sms (cdma短信参考)|?? |-- reference-ril??? (ril参考)|?? |-- rild???? (ril后台服务程序)
hardware/ril$ ls
include?libril?reference-cdma-sms?reference-ril???rild
?1.hardware/ril/rild$ ls
Android.mk? MODULE_LICENSE_APACHE2? NOTICE?radiooptions.c??rild.c
2.hardware/ril/include/telephony$ ls
ril_cdma_sms.h??ril.h
3.hardware/ril/libril$ ls
Android.mk????????????? NOTICE?????ril_event.h???????ril.cpp??????ril_event.cpp?? ril_commands.h??ril_unsol_commands.h
MODULE_LICENSE_APACHE2??
4.hardware/ril/reference-cdma-sms$ ls
Android.mk? refer
您可能关注的文档
- Andriod DK开发范例大全2目录.doc
- Andriod系下sd卡各文件夹功能解释,清理SD卡必备!.doc
- Android ervice学习之AIDL.doc
- Android idget开发学习教程.doc
- Android idget开发详解.doc
- Android 发环境搭建.docx
- Android 发环境搭建、配置eclipse8.5.doc
- Android 发规范与应用.doc
- Android 机启动流程.doc
- Android 气预报简介.doc
- 《商业银行零售业务数字化转型对金融风险管理的影响及应对策略》教学研究课题报告.docx
- 智能零售柜在社区场景下的市场拓展策略与区域市场差异研究报告.docx
- 《图书馆均等化服务对公共图书馆人力资源配置的影响》教学研究课题报告.docx
- 小学心理健康教育课程与心理健康教育教师的职业倦怠研究教学研究课题报告.docx
- 小学音乐跨媒介阅读与音乐创作能力培养实践教学研究课题报告.docx
- 小学体质健康档案在家庭体育活动中的应用与推广教学研究课题报告.docx
- 《银行网点智能化转型中的智能化风控系统设计与实施效果》教学研究课题报告.docx
- 高中地理课程中家乡特色美食的地理分布与旅游开发研究教学研究课题报告.docx
- 高中教师数字化教学能力评价与智能评价系统在数学教育中的应用教学研究课题报告.docx
- 小学英语课堂生成式人工智能辅助下的教学策略研究教学研究课题报告.docx
文档评论(0)