Android取经之路--学习启动篇

    现如今,几乎人手一台手机,据统计,平均每人每天花在手机上的时间达到了3-4小时,现在主流的支柱型手机系统是Android、IOS。
    根据Gartner去年第四季的调查,Android于智慧型手机市场的占有率为80.7%,排名第二的苹果iOS则是17.7%。在过去的一年全球推出了超过600款Android手机,程序安装数量已经突破了650亿。在今年5月份谷歌开发者大会上,Android系统发布了Android7.0-Android N,Android也向前迭代了几十个版本。
    既然Android那么流行,那么到底他是如何工作的,他的内部构造是什么,很值得我们深入研究学习。最近也看了老罗-罗升阳的Android之旅,老罗不愧为大神级人物,每个模块讲解的都很深入,但是其中都是基于Android2.2,与现在的版本已经差了好几个大版本,现在最常用也最稳定的版本是Android6.0-Android M,因此接下来我会参考老罗的相关文章以及其他网络大神的相关文章,基于Android6.0的源码进行展开学习。

准备学习分享的内容从以下几个方面进行:
语法:
C语言:
入门书籍:《The C ProGramming Language》
进阶书籍:《C与指针》
参考我的博客:《C与指针》

JAVA语言:
入门书籍:《Head first java》
进阶书籍:《thinking in java》

C++语言:
建议书籍:《C++ primer》

MakeFile:
入门书籍:《跟我一起写Makefile》

Python:
入门书籍:
参考我的博客:《跟我一起写Python》

Android系统源码学习:
1.环境搭建及编译
2.APP到Kernel通路学习
(1)内核中编写硬件驱动
(2)C空间增加可执行程序访问硬件驱动
(3)HAL层(硬件抽象层)访问Linux内核驱动程序
(4)HAL层写JNI方法提供Framework使用
(5)Framework提供接口访问硬件
(6)JAVA层APP通过Framework接口访问Kernel层驱动

3.Android系统启动
1)init
2)Zygote
3)SystemServer
4)Home–launcher启动

4.Android通信方式

5.Binder层学习

6.Socket学习
(1)基础socket
(2)LocalSocket
(3)AIDL机制
(4)JAVA空间到C空间Socket通信流程

7.Handler

8.四大组件
(1)Activity
(2)Brodcast
(3)Service
(4)Content Provider

9.多线程,进程通讯

10.同步异步机制

11.RIL(Radio Interface Layer 无线接口)层分析

12.Telephony层分析

13.通话过程分析

14.selinux
15.ART虚拟机
16.设计模式
1)单例
2反射机制
3)工程模式

虽然一直在通信行业,但是一直从事的都是高通Modem 协议、平台的分析与开发,Android的开发比较少,了解也比较少。
为了不落伍,接下来准备先花一个半月的时间回顾一下《C与指针》、《Thinking in java》、《C++ primer》,同时,会把相关的疑问以及期间的隐藏问题列举出来,单独进行分析。
然后计划花费大半年到一年的时间,根据上述的Android系统源码学习的过程进行一系列的文章描述。

#=========================#
微信公众号:天歌的编程小结
公众号ID:vipgty

Tianger Ge wechat
如果您喜欢这篇文章,欢迎扫一扫我的微信公众号!