【Android架构Telephony篇】之数据业务(一)
2015-11-06 21:42
579 查看
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
相关文章推荐
- 编译器架构的王者LLVM——(3)用代码生成代码
- 猪八戒网站上的骗子为什么这么多
- 视频网站(网页)上获取视频源地址 详细过程
- 编译器架构的王者LLVM——(2)开发LLVM项目
- ASLA Codec架构
- 编译器架构的王者LLVM——(1)现代编译器架构
- 网站架构演变结构示意图
- 大型网站架构体系的演变 负载均衡架构设计
- Android NDK 1 - 指令集、CPU架构与汇编
- 企业级架构几个关键点
- PrestaShop 网站后台配置(八)
- iOS 应用架构谈 本地持久化方案
- PrestaShop 网站后台配置(七)
- PrestaShop 网站后台配置(六)
- PrestaShop 网站后台配置(五)
- PrestaShop 网站后台配置(四)
- PrestaShop 网站后台配置(三)
- 班级静态网站设计
- PrestaShop 网站后台配置(二)
- apn查询网站