1.RIL框架
RIL,Radio Interface Layer。本层为一个协议转换层,提供Android Telephony与无线通信设备之间的抽象层。
Android RIL位于Telephony Frameworks之下,Modem之上的,根据源码,RIL可以分为两个部分:Frameworks 框架层中的java程序,简称RILJ。HAL层中C/C++程序,简称RILC,RILC具体的又包括LibRIL、Rild和Reference-RIL这三个部分。 Android RIL的框架结构如下:
RILJ、RILC和Modem之间的交互均是基于socket网络连接的数据交互方式,如图所示,RILJ与RILC之间通过rild端口的Socket连接进行RIL消息的交互处理;RILC与Modem之间通过qemud的Socket端口完成AT命令的发送和执行,完成Modem的操作控制、查询请求以及Modem主动上报的消息处理。同时需要注意到,RILC中真正与RILJ交互的是LibRIL,与modem完成交互的是Reference-RIL。