Android 4.4 Kitkat Phone工作流程浅析(一)__概要和学习计划


        美国时间 2013 年 10 月 31 日, Google 正式发布了全新版本的移动操作系统 Android 4.4 KitKat 。据 google官方介绍,Android 4.4 降低了硬件的需求,提高了程序运行效率。距离 4.4 发布已经过去3个月了,不少朋友也已经体验到了 4.4 所带来的快感,大家可以通过刷入三方ROM(比如CM/Omni/Slim等)体验Android 4.4。


       我们知道通话功能(Telephony)是手机最基本,也是最重要的功能,因此 Google对于这块的改动历来是最少的。在经过了数次迭代之后,我们在 4.4 上发现 Google 对 Phone 模块进行了较大的改动。从图1可以大致看到相关的改动:


图1

         原来的Phone应用不见了,取而代之的是Dialer和TeleService,为什么这里把InCallUI单独列出来呢?实际上我们单独去编译InCallUI也是可以生成对应的APK的,但push到手机中却没有效果,因为Dialer的 Android.mk中 已经将InCallUI的代码 包含,也就是已经将InCallUI的代码打包到了Dialer.apk中。如下:


  1. incallui_dir := ../InCallUI
  2. src_dirs := src $(contacts_common_dir)/src $(incallui_dir)/src  
  3. res_dirs := res $(contacts_common_dir)/res $(incallui_dir)/res  
  4.   
  5. LOCAL_SRC_FILES := $(call all-java-files-under, $(src_dirs))  
  6. LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dirs))  
  7.   
  8. LOCAL_AAPT_FLAGS :=   
  9.     --auto-add-overlay   
  10.     --extra-packages com.android.contacts.common   
  11.     --extra-packages com.android.incallui  

        从整体上来讲,Android 4.4 把原来的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(去电)流程分析

4. Android 4.4 Kitkat Phone工作流程浅析(四)__RILJ工作流程简析

5. Android 4.4 Kitkat Phone工作流程浅析(五)__MT(来电)流程分析

6. Android 4.4 Kitkat Phone工作流程浅析(六)__InCallActivity显示更新流程

7. Android 4.4 Kitkat Phone工作流程浅析(七)__来电(MT)响铃流程

8. Android 4.4 Kitkat Phone工作流程浅析(八)__Phone状态分析

9. Android 4.4 Kitkat Phone工作流程浅析(九)__状态通知流程分析

        以上计划仅目前考虑到的一部分,后续根据实际情况可能会有些许变动。






原文地址:https://www.cnblogs.com/liulaolaiu/p/11744520.html