1. 程式人生 > >【Android架構Telephony篇】資料業務(1)總覽

【Android架構Telephony篇】資料業務(1)總覽

Android: 6.0
Desktop: Ubuntu 15.04
更新:2017-04-27

Android裝置中完整的移動通訊系統構成:

(1)Hardware

這裡提到的無線通訊模組是一種支援TD-LTE/FDD-LTE/TD-SCDMA/WCDMA/EVDO/CDMA1X/GSM等等網路制式的通訊模組,能夠為使用者提供高速的無線資料、網際網路接入等業務,具備語音、分組資料、簡訊功能,彩信等功能。提供這些功能使用服務就是聯通/移動/電信等運營商,通過SIM卡註冊到各自的網路中,付費使用。

(2)Kernel

核心中實現訪問無線通訊模組的資料通道,比如對於串列埠類模組就可以為/dev/ttyS0(/dev/ttyS1...),USB介面的為/dev/ttyUSB0(/dev/ttyUSB1

...)等。

而要使用模組的網路功能,還必須實現網路功能的通訊協議,比如常見的PPP(Point-to-Point Protocol):

PPP  is  the  protocol used for establishing internet links over dial-up modems, DSL connections, and many other types of point-to-point links.  The

為直觀故,我們看下通過PPP建立網路連線的log:

最後一行返回status為0,說明網路建立成功。

同時,它也顯示了本地IP、遠端IP、DNS等網路資訊。在Android撥號過程中,用到的兩個重要檔案是/data/connect和/etc/ppp/ip-up。

這時可以adb shell進入系統,看下網路:

netcfg

或:

busybox ifconfig

(3)Framework

該層的Telephony子系統完成無線通訊模組所有功能的具體實現,同時為應用開發人員提供使用介面。

(4)App

作為App開發人員,呼叫Telephony的API,實現具體功能的App工使用者使用。

Android的Telephony子系統也是非常複雜的,涉及很多方面。我們以資料業務為分析入口,從上到下走一遍框圖中的流程。