下载此文档

Android通信机制及QCRIL原理介绍-华为.ppt


文档分类:IT计算机 | 页数:约22页 举报非法文档有奖
1/22
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/22 下载此文档
文档列表 文档介绍
Android通信机制及QCRIL原理介绍2020/7/24Android软件栈架构Page2Android应用运行环境每个Android应用依赖于/system/framework文件夹下的一些核心库,这些核心库用是java编写的。这些应用还依赖于/system/lib文件夹下的动态链接库,这些动态链接库是C/C++编写的。这些库就是Android应用的环境,还有一些共享库和类库,是运行时动态加载的类库和本地调用(JNIInvoke)。传统JAVA应用,所有的JAVA应用都运行在同一个JVM中(默认是这样的)。而在Android上,每个应用都运行在自己专有的dalvik虚拟机实例里,这和传统JAVA应用有区别。Android使用Linux作为HAL(hardwareabstractionlayer)Page3AndroidRILArchitecturePage4AndroidRILDalvikVM(shared)::JavautilityforRILmessage/mands(messages)––UtilitylibraryforRILmessage/–,,–QCremoteAPIlibs(QC)mands(请求消息)是由上层应用,例如DiIAL、mands是由底层modem侧发起的,向上层报告状态的变化、新的消息等,例如CALL_STATE_CHANGED、SIM_STATE_CHANGED、NEW_SMS。mandsPage7通信机制RILD和Modem侧的通讯是通过RPC和QMI实现的RPC用于多CPU之间的通讯,一侧的CPU应用在ONCRPC栈中通过XDR将消息编码成字节流,通过RPCrouter、共享内存对应传到另一侧CPU的RPCrouter、ONCRPC栈中,XDR解码后,得到数据。XDR即是用于在同平台间实现数据连续表示的编解码机制。QMI是高通自定义的一种数据接口,用于终端设备的操作系统应用和底层模块的数据通信。数据业务基本通过QCRIL、QMI与底层交互。Page8通信机制Application是Android应用,.,类似于windows的Service,运行于单独的进程,给其他应用提供服务。所有的Service都可以通过IServiceManager接口访问。例如一次呼叫调用发生,情景大概是如下几步:;Telephony的类根据状态,mands,通过IPC,调用PhoneService的接口;PhoneService通过sockets和RILD这个daemon通信;rild将来自PhoneService的命令通过RPC、共享内存,发送给Modem,并接收Modem的返回,打包返回给PhoneService;PhoneService也将返回打包给Application;呼叫调用完毕。Page9Application和PhoneService的通信Application和PhoneService之间通过OpenBinder机制通信。但是我们并不需要懂得OpenBinder的原理,因为Android软件栈中的ApplicationFramework层已经提供便捷的接口去调用。,封装、抽象得很好,一个打电话的调用只需要三行代码,IServiceManagersm=();IPhonephoneService=(("phone"));(phoneNumber);Page10

Android通信机制及QCRIL原理介绍-华为 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数22
  • 收藏数0 收藏
  • 顶次数0
  • 上传人cjl201702
  • 文件大小929 KB
  • 时间2020-07-24