Telephony基础架构
- 应用层(Application)
- 应用框架层(Framework)
- 本地RIL层(RIL)
- 驱动层(Modem)
下层为上层提供服务,每层之间采用不同的通讯方式交互。RIL daemon层实现为单独的一个开机启动的进程(rild命令),通过AT命令硬件驱动层交互,TelephonyJava框架实现层包括一个RIL抽象层,RIL抽象层中通过一个本地socket与RIL daemon层(rild)交互,PHONE应用层通过Binder机制与Telephony框架交互。
Application
面向用户的应用层,主要包括Phone/SMS/Contacts应用
Framework
应用框架层,主要包括了RILJ/Service/业务功能模块 三部分构成
RIL daemon
是应用框架层和Modem之间的接口层(属于HAL层)
Modem硬件驱动层
- Android Telephony 的业务应用跨越 AP 和 BP, AP 与 BP 相互通信,符合前面介绍的智能手机的硬件基本结构
- Android 系统运行在AP上,Telephony运行在linux Kernel之上的用户空间
• Android Telephony也采用了分层结构的设计,共跨越了三层:应用层、应用框架层和系统运行库层,与 Android 操作系统整体分层结构保持一致;
• Android Telephony从上到下共分三层: Telephony 应用、Telephony 框架、RIL(Radio Interface Layer,无线通信接口层,主要位于系统运行库层的 HAL 中