最近在android 9 google 源码上调通4G模块的打电话,上网,发短信的功能。除了要整合驱动,也看了下android 的源码流程,
一. 应用层到framework 跟踪.
下面这两张图是android7.0 的代码流程,很详细,和android9.0 的代码除了RIL.java 后面的流程不同,其他基本是一致 的。
一、拨号流程时序图:
二、来电流程时序图
此段参考 :https://www.jianshu.com/p/cfe9de14ed52
二. HAL 层跟踪。
在 Android 8.0(不含,下同)之前,Telephony 和 modem 之间一直用 socket 进行连接通信,它是 RILD 。其实通过 socket 连接的两个上下层模块,已经非常的解耦,也具有 HIDL 独立编译的特性,但是应用范围受到限制,socket 通信的速度和接口的定义等不是很理想,没有大范围的应用到各个模块。HIDL 技术的推出,可以替换通过 socket 连接的各个模块,发挥 HIDL 技术的优势。
此段参考: https://blog.csdn.net/myfriend0/article/details/79461341