快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

关于rilandroid的信息

Android 应用程序怎么通过RIL层发送AT命令

android 电话服务就是通过AT来实现的,不过不是java应用层直接发AT

创新互联公司主要从事成都做网站、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务防城港,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

而是通过socket,把命令发到RIL层,RIL筛选AT命令,与底层交互,实现电话的各个功能

你可以查一查RIL的实现

[img]

ril位于android哪一层

上图清楚的标识了ril在整个Android系统各层的表现形式,我们这里主要分析Ril(RIDL、librefrenece_ril.so、libril.so);

…/Hardware/ril/rild RILD的代码实现,有main函数,作为ril层的入口点,常驻系统进程,负责与上下层交互

…/Hardware/ril/libril 负责与守护进程交互???

…/Hardware/ril/reference-ril/ Ril库的实现,主要负责与modem进行交互

实现详细分析:

从init.rc中service ril-daemon /system/bin/rild -l /system/lib/libreference-ril.so -- -d /dev/ttyUSB1 -u /dev/ttyUSB2

可以知道,Android启动时,系统会启动一个与ril相关的service (ril-daemon),其入口命令为/system/bin/rild

(一)那么首先看看rild(/hardware/ril/rild/*);该目录下有两文件radiooptions.c、rild.c

Radiooptions.c 看Makefile知道最终会被编译成radiooptions二进制工具,放在/system/bin/下面,具体用法我在这里就不说了,我到终点里面执行一下,把他的help信息打出了,再详细的就自己看吧,源码不长,也不复杂。

# radiooptions

有人知道Android紧急呼叫RIL流程么

拨出电话流程:

1 在系统源码这个路径下/packages/apps/Phone/src/com/android/phone/DialtactsActivity.java

contacts的androidmanifest.xmlandroid:process="android.process.acore"说明此应用程序运行在acore进程中。DialtactsActivity的intent-filter的action属性设置为main,catelog属性设置为launcher,所以此activity能出现, 首先启动的就是这个activity在主菜单中,并且是点击此应用程序的第一个界面。dialtactsactivity包含四个tab,分别由TwelveKeyDialer、RecentCallsListActivity,两个activity-aliasDialtactsContactsEntryActivity和DialtactsFavoritesEntryActivity分别表示联系人和收藏tab,但是正真的联系人列表和收藏是由ContactsListActivity负责。

2

进入TwelveKeyDialer OnClick方法,按住的按钮id为:R.id.digits,执行

详细

如何单独编译android系统的ril模块

Android源码目录下的build/envsetup.sh文件,描述编译的命令

- m: Makes from the top of the tree.

- mm: Builds all of the modules in the current directory.

- mmm: Builds all of the modules in the supplied directories.

要想使用这些命令,首先需要在android源码根目录执行. build/envsetup.sh 脚本设置环境

m:编译所有的模块

mm:编译当前目录下的模块,当前目录下要有Android.mk文件

mmm:编译指定路径下的模块,指定路径下要有Android.mk文件

下面举个例子说明,假设我要编译android下的\hardware\libhardware_legacy\power模块,当前目录为源码根目录,方法如下:

1、. build/envsetup.sh

2、mmm hardware/libhardware_legacy/power/

编译完后 运行 make snod

会重新将你改过的模块打入到system.img中


网站题目:关于rilandroid的信息
文章起源:http://6mz.cn/article/dsopghp.html

其他资讯