Android 安卓RIL介绍

Android ril集成和常见问题分享

RK3568-ANDROID11-4G-EC20-(详细步骤)

什么是 Android RIL

Android RIL (Radio Interface Layer)即无线接口层,它是位于 Android 操作系统与移动设备的无线通信硬件之间的一个软件抽象层 。其主要目的是为 Android 系统提供一个统一的接口,以便与各种不同类型的无线通信芯片及模块进行交互和通信,从而实现诸如语音通话、短信收发、移动数据网络连接等无线通信功能。

从功能实现角度看,RIL 屏蔽了底层无线通信硬件的复杂性和差异性。不同的手机制造商可能会采用不同厂商的基带芯片等无线通信硬件,这些硬件在接口规范、功能实现细节等方面存在很大差别。RIL 通过定义一套标准的接口和通信协议,使得 Android 系统无需关心具体硬件的细节,只要按照 RIL 提供的接口进行调用,就能实现各种无线通信功能。例如,当应用程序需要发起一个语音通话时,它只需调用 Android 系统中与通话相关的 API,而这些 API 最终会通过 RIL 将通话请求传递给底层的无线通信硬件,由硬件来完成实际的通话建立和通信过程。 这样一来,大大降低了 Android 系统与无线通信硬件耦合度,提高了系统的可移植性和兼容性。

RIL结构

Android RIL 位于应用程序框架与内核之间,分成了两个部分,一个部分是 rild,它负责 socket 与应用程序框架进行通信。另外一个部分是 Vendor RIL,这个部分负责向下与 radio 进行通信。对于 RIL 的 java 框架部分,也被分成两个部分,一个是 RIL 模块,这个模块主要与下层的 rild 进行通信,另外一个是 phone 模块,这个模块直接暴露电话功能结构给应用开发用户,供他们调用以进行电话功能的实现。

IRadio配置相关问题

安卓11以上的IRadio一般配置在 /vendor/etc/vintf/manifest.xml 目录下,根据客户使用的不同版本IRadio,配置会有一点差异。

不同的安卓版本支持的最高IRadio版本也不同,配置不能超过当前安卓版本支持版本。移远实现的libril目前支持到1.5接口,使用移远RIL库时候manifest.xml最高不能配置超过1.5。

安卓8.x ---最高支持IRadio 1.1

安卓9.x ---最高支持IRadio 1.2

安卓10.x ---最高支持IRadio 1.4

安卓11.x ---最高支持IRadio 1.5

安卓12.x ---最高支持IRadio 1.6

安卓11&12 2&3&4G模块使用1.1接口即可正常上报信息

安卓11&12 如适配的5G模块,在新归档的RIL版本中,针对5G信号上报做了调整,需要将IRadio接口切至1.5

IRadio服务未注册,会导致RIL库与上层通信失败。

此时就需要检查使用的IRadio版本和对应的manifest.xml的配置,如果使用了1.2以上的IRadio版本还需要确认是否有对应移远的libril.so。(原生libril.so仅支持IRadio1.1)

一般在radio log上过滤RILJ,只有一行打印:

RILJ ( 934): RIL: init preferredNetworkType=9 cdmaSubscription=0)[PHONEnull]

且不会上报:

RILJ ( 934): [UNSL]< UNSOL_RIL_CONNECTED [PHONE

相关推荐
撩得Android一次心动18 分钟前
Android studio 高效使用
android·ide·android studio
2501_916007471 小时前
iOS 代上架实战指南,从账号管理到使用 开心上架 上传IPA的完整流程
android·macos·ios·小程序·uni-app·cocoa·iphone
2501_915918412 小时前
iOS混淆与IPA文件加固深度解析,从反编译风险到苹果应用安全工程实践
android·macos·ios·小程序·uni-app·cocoa·iphone
起个名字费劲死了2 小时前
Pytorch Yolov11目标检测+Android部署 留贴记录
pytorch·yolo·目标检测·安卓
muyouking1111 小时前
Tauri Android 开发踩坑实录:从 Gradle 版本冲突到离线构建成功
android·rust
Jerry13 小时前
Compose 为元素赋予动画特效
android
Jeled13 小时前
协程工具类
android·android studio
阿兰哥16 小时前
【调试篇5】TransactionTooLargeException 原理解析
android·性能优化·源码
爱吃水蜜桃的奥特曼17 小时前
玩Android Flutter版本,通过项目了解Flutter项目快速搭建开发
android·flutter
太过平凡的小蚂蚁18 小时前
Android 版本特性完全解析:从6.0到16.0的实用指南
android