android 数据业务,【Android架构Telephony篇】之数据业务(一)
Android: 4.4.4
Desktop: Ubuntu 15.04
这里只做一些准备事情。
不得不说,Android里的Telephony模块还是挺复杂的,要想搞个八九分清楚需要花点功夫。今天把数据业务从点击【开启】Switch到HAL层的数据流向(函数调用—面向对象叫做“方法”)走了一遍,心得是:
1、用好Source Insight
2、用好find命令
一、主要文件
在茫茫Ascii中搜寻需要的函数,真对亏了强大到没对手的find!
find . -name "*.java" | xargs grep -ri "func"为方便故,把涉及的主要文件备份一下。
Framework层的Java文件:
BaseNetworkStateTracker.java (h:\frameworks\base\core\java\android\net)
CommandsInterface.java (h:\frameworks\opt\telephony\src\java\com\android\internal\telephony)
ConnectivityManager.java (h:\frameworks\base\core\java\android\net)
ConnectivityService.java (h:\frameworks\base\services\java\com\android\server)
DataConnection.java (h:\frameworks\opt\telephony\src\java\com\android\internal\telephony\dataconnection)
DataUsageSummary.java (h:\packages\apps\settings\src\com\android\settings)
DcAsyncChannel.java (h:\frameworks\opt\telephony\src\java\com\android\internal\telephony\dataconnection)
DctConstants.java (h:\frameworks\base\telephony\java\com\android\internal\telephony)
DcTracker.java (h:\frameworks\opt\telephony\src\java\com\android\internal\telephony\dataconnection)
DcTrackerBase.java (h:\frameworks\opt\telephony\src\java\com\android\internal\telephony\dataconnection)
Handler.java (h:\frameworks\base\core\java\android\os)
IConnectivityManager.aidl (h:\frameworks\base\core\java\android\net)
Message.java (h:\frameworks\base\core\java\android\os)
MobileDataStateTracker.java (h:\frameworks\base\core\java\android\net)
MobileLinkQualityInfo.java (h:\frameworks\base\core\java\android\net)
MobileNetworkSettings.java (h:\packages\services\telephony\src\com\android\phone)
NetworkStateTracker.java (h:\frameworks\base\core\java\android\net)
Phone.java (h:\frameworks\opt\telephony\src\java\com\android\internal\telephony)
PhoneBase.java (h:\frameworks\opt\telephony\src\java\com\android\internal\telephony)
PhoneConstants.java (h:\frameworks\base\telephony\java\com\android\internal\telephony)
PhoneInterfaceManager.java (h:\packages\services\telephony\src\com\android\phone)
PhoneNotifier.java (h:\frameworks\opt\telephony\src\java\com\android\internal\telephony)
RadioInfo.java (h:\packages\apps\settings\src\com\android\settings)
Ril.h (h:\hardware\ril\include\telephony)
RIL.java (h:\frameworks\opt\telephony\src\java\com\android\internal\telephony)
Settings.java (h:\frameworks\base\core\java\android\provider)
HAL层的CC++文件:
Atchannel.c (h:\hardware\ril\reference-ril)
Atchannel.h (h:\hardware\ril\reference-ril)
At_tok.c (h:\hardware\ril\reference-ril)
At_tok.h (h:\hardware\ril\reference-ril)
Gsm0710muxd.c (h:\hardware\ril\gsm0710muxd\src)
Gsm_7bit.c (h:\hardware\ril\reference-ril)
Gsm_7bit.h (h:\hardware\ril\reference-ril)
Librilutils.c (h:\hardware\ril\librilutils)
Librilutils.h (h:\hardware\ril\include\telephony)
Misc.c (h:\hardware\ril\reference-ril)
Misc.h (h:\hardware\ril\reference-ril)
Radiooptions.c (h:\hardware\ril\rild)
Record_stream.c (h:\hardware\ril\librilutils)
Record_stream.h (h:\hardware\ril\include\telephony)
Reference-ril.c (h:\hardware\ril\reference-ril)
Ril-ss.c (h:\hardware\ril\reference-ril)
Ril.cpp (h:\hardware\ril\libril)
Ril.h (h:\hardware\ril\include\telephony)
Ril.h (h:\hardware\ril\reference-ril)
Rild.c (h:\hardware\ril\rild)
Ril_cdma_sms.h (h:\hardware\ril\include\telephony)
Ril_commands.h (h:\hardware\ril\libril)
Ril_event.cpp (h:\hardware\ril\libril)
Ril_event.h (h:\hardware\ril\libril)
Ril_unsol_commands.h (h:\hardware\ril\libril)
二、数据业务相关
和嵌入式Linux一样,封装了的Android在SIM卡相关的数据业务用的也是PPP(Point to Point Protocol)拨号,为直观故,上图:
最后一行返回status为0,说明网络建立成功。
同时,它也显示了本地IP、远程IP、DNS等网络信息。在拨号过程中,用到的两个重要文件是/data/connect和/etc/ppp/ip-up。
这.时可以ADB进入系统,看下网络:
netcfg
android 数据业务,【Android架构Telephony篇】之数据业务(一)相关推荐
- 移动大数据平台的架构、实践与数据增值(1)
转转:感谢分享http://developer.51cto.com/art/201512/500294.htm APP是进入移动互联网的重要载体,故得到越来越多开发者的关注.打造APP,无论是开发.产 ...
- 移动大数据平台的架构、实践与数据增值
吴磊,友盟公司数据平台负责人.目前主要负责Umeng移动数据分析平台的软件研发和系统架构.拥有10多年的软件开发经验,先后在大型通讯系统,通用搜索引擎以及海量数据分析等领域工作.在基础平台架构和海量数 ...
- 阿里数据产品经理工作(总结篇):数据PD,做牛做马
送给真正的互联网人一顿干货早餐 [小咖导读]文自 听雨-悟禅 博客,PD(指产品经理,下同)本身就是在做牛做马,关系圈异常复杂.数据PD也不例外.而且打交道的人更多.以下是作者用PPT绘制的数据产品经 ...
- 实战▍一个完整的电信客服分析平台大数据项目:架构、实现、数据
作者|黑泽明军 编辑|丹顶鹤5号 电信客服分析平台(附代码) 编者按: 很难见到这种一个完整的大数据项目,从项目背景.项目架构到项目实现都有大量的实例,包括数据存储和数据采集和各个模块的运行设置等等 ...
- CYQ.Data 轻量数据层之路 使用篇-MAction 数据查询 视频 D (二十一)
2019独角兽企业重金招聘Python工程师标准>>> 说明: 本次录制主要为使用篇:CYQ.Data 轻量数据层之路 使用篇二曲 MAction 数据查询(十三) 的附加视频教 ...
- 架构的“一小步”,业务的一大步
前言: 谈到"架构"这两个字,会有好多的名词闪现,比如:分层架构.事件驱动架构.DDD.CQRS等.亦或者一堆的软件设计原则,如:KISS原则(Keep it Simple and ...
- 架构的“一小步”,业务的一大步 1
前言: 谈到"架构"这两个字,会有好多的名词闪现,比如:分层架构.事件驱动架构.DDD.CQRS等.亦或者一堆的软件设计原则,如:KISS原则(Keep it Simple and ...
- 系统业务逻辑书籍_新年福利 | 架构的“一小步”,业务的一大步
作者:闲鱼技术-绛曲 前言: 谈到"架构"这两个字,会有好多的名词闪现,比如:分层架构.事件驱动架构.DDD.CQRS等.亦或者一堆的软件设计原则,如:KISS原则(Keep it ...
- 天际数见数据质量巡检架构优化
源宝导读:天际数见平台是一个数据可视化的BI平台,定位于为高层决策提供数据可视化赋能.数据准确性是生命线,如何提前发现数据问题,快速定位和修复问题,成为我们必须攻克的难点.本文将介绍数见平台通过架构优 ...
最新文章
- 从键盘输入一行字符,写入到string.txt文本文件中
- 新浪微博的“独立”与互联网社区的“群居”
- Web APi之控制器创建过程及原理解析(八)
- sonarqube插件开发(三) 调试插件
- Python3--批量爬取数据之调用有道api进行翻译
- 编写 matlab怎么调用 8 点和 16 点的 fft,8点基于DIT的FFT的实现
- vb定义模块且使用模块_ET200S 1 STEP 步进模块使用入门
- Java线程的优先级
- 让 UV4 支持STC 单片机
- 【CodeForces - 760B 】Frodo and pillows (二分题意,注意细节)
- java session 详解
- LNK1123转换到COFF期间失败
- IOS calculater
- Android 11源码 修改系统App后进行编译
- 前端笔记05 - js
- 斯帅变阵只为讨好皇帝 36岁高龄大Z成热火首发
- 为颜值和音质充值:南卡N2S真无线蓝牙耳机评测
- rk3288 android 6.0固件,[RK3288][Android6.0] 使用SD卡升级固件到eMMC
- oracle创建分区.md
- Vuex中的Getter的使用
热门文章
- [搜片神器]BT种子下载超时很多的问题分析
- 计算机汽油累计调价公式,2018年油价调整明细_2018年油价调整时间表及历史调价幅度汇总...
- 教你一招从谷歌商店下载应用?
- 【40nm工艺库使用疑问记录】
- MyBatis使用步骤及原理
- ANSYS apdl命令流案例1--------桁架桥梁结构分析
- 会声会影2023专业版视频处理制作软件功能详细介绍
- 快递物流查询接口查询类API接口介绍_快递鸟
- flex布局均分高度了,没有自适应内容高度,怎么回事
- 辽宁移动数码Q5_S905M_EMMC_线刷固件包