Android 4.4 Kitkat Phone工作流程淺析(一)__概要和學習計劃

來源:互聯網
上載者:User

        美國時間 2013 年 10 月 31 日, Google 正式發布了全新版本的移動作業系統 Android 4.4 KitKat 。據 google官方介紹,Android 4.4 降低了硬體的需求,提高了程式運行效率。距離 4.4 發布已經過去3個月了,不少朋友也已經體驗到了 4.4 所帶來的快感,大家可以用過刷入三方ROM(比如知名的CM ROM等)體驗Android 4.4。但從目前來看,基於MTK平台的裝置,幾乎還沒有運行Android 4.4 的裝置,OEM廠商拿到系統之後會做許多定製,比如MTK就比高通的定製更多,這也就是為什麼國內許多廠商直接拿到MTK的方案就可以出貨的原因,當然這也造成了鋪貨時間更慢。

       因工作原因,這裡就以MTK平台Android 4.4為例(後文例子代碼使用MTK平台 Android 4.4 代碼,但基於各方面原因只標註關鍵代碼,以調用時序圖為主),整理並記錄 Android 4.4 Phone 的工作流程。雖然MTK對於Android的源碼定製修改較多,但整體結構還是可以與原生進行對比的。

       我們知道通話功能(Telephony)是手機最基本,也是最終要的功能,因此 Google對於這塊的改動曆來是最少的。在經過了數次迭代之後,我們在 4.4 上發現 Google 對 Phone 模組進行了較大的改動。從圖1可以大致看到相關的改動:


圖1

         原來的Phone應用不見了,取而代之的是Dialer和TeleService,為什麼這裡把InCallUI單獨列出來呢?實際上我們單獨去編譯InCallUI也是可以產生對應的APK的,但實際上push到手機中卻沒有效果,因為Dialer的Android.mk中已經將InCallUI的程式碼封裝含,也就是已經將InCallUI的代碼打包到了Dialer.apk中。如下:

src_dirs := src $(contacts_common_dir)/src $(incallui_dir)/srcres_dirs := res $(contacts_common_dir)/res $(incallui_dir)/resLOCAL_SRC_FILES := $(call all-java-files-under, $(src_dirs))LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dirs))LOCAL_AAPT_FLAGS := \    --auto-add-overlay \    --extra-packages com.android.contacts.common \    --extra-packages com.android.incallui

        從整體上來講,也就是說把原來的Phone分成了幾塊,Dialer現在是撥號應用,TeleService是Server端,InCallUI負責顯示。相對於 4.4 之前的Phone應用來說,這樣更改後結構更加清晰明了。

        看了整體結構,大致規劃一下後續的學習計劃,如下:

1. Android 4.4 Kitkat Phone工作流程淺析(一)__概要和學習計劃;

  (註:制定學習計劃)

2. Android 4.4 Kitkat Phone工作流程淺析(二)__UI分析;

  (註:主要包括介面控制項介紹,介面控制項更新控制流程程介紹)

3. Android 4.4 Kitkat Phone工作流程淺析(三)__MO(去電)流程分析;

  (註:包括從Dialer撥號到對方接通電話並進行正常通話流程分析)

4. Android 4.4 Kitkat Phone工作流程淺析(四)__MT(來電)流程分析;

  (註:包括來電從RIL上報到InCallActivity顯示流程分析)

        以上計劃僅目前考慮到的一部分,後續根據實際情況變動。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.