Linux/Android系统知识启动篇

我人生中第一部手机是高三时买的的Nokia 7160,枫叶外形,装载Symbian系统。当时还是功能机的天下,其他同学若想用手机上网,必须先退出手机QQ才能打开浏览器。有位同学买的联想功能机居然硬是没有网页浏览功能,买完直呼后悔。而使用我大诺记,QQ直接挂在后台,多任务操作毫不费力,羡煞一帮朋友~

不久HTC出了Android机皇----翘下巴HTC G系列,可惜HTC公司起初并不重视大陆市场,只有个名不见经传的多普达子公司,对于想体验Android系统的大陆弄潮人来说,出路只有买水货的HTC(不保修)或贵的要死的多普达两条路可选,真替HTC公司的市场策略惋惜啊。由于这些原因,广大大陆消费者的意识中压根就没有传入Android系统这个概念,认为市面上除了声音巨大无比的键盘/触屏两用山寨机这类通用功能机外,就属Nokia 的Symbian智能系统独领风骚了(当时黑莓也没传入中国市场)。

或许真的是Nokia命太好,就这样继续在大陆市场如鱼得水,开心的不要不要的~   直到苹果的iPhone和三星的Android手机开始发力,广大消费者才开始意识到,咦!原来除了Nokia的塞班系统外,世界上居然还有如此好看又好用的Android系统和苹果手机!!! HTC此时开始享受到福利,以前的机皇被陆续翻出,受惠于HTC是最早进入Android系统领域的手机公司之一,积累了巨大的技术优势,凭借这些优势使之得以在这轮风口上很容易的占领了市场

后来手机互联网开始兴起,智能手机成为广大厂商争相掠夺的战略要地,微软开始发力,推出WindowsPhone系统;三星后来居上Android手机销量渐渐超越HTC和Motorola,Google开始加力推广Android系统,亲儿子Nexus横空出世,引领oem厂商尽快加入Android大军;iPhone自家系统继续玩儿生态,自己独占半边天;黑莓开始进入大陆视野视野,靠独特的全键盘和主打安全保密的核心卖点,成为部分弄潮儿的新宠;反而唯独诺基亚沉睡在自己的帝国美梦中,试图继续使用古老塞班系统抗衡世界的新潮流,直到逐渐显现出力不从心之态,才开始尝试通过Meego和WindowPhone系统来做一次垂死挣扎,不过为时已晚,帝国的颓势已现,难以翻身了~

看如今智能手机领域的大格局已经逐渐明朗,Android/iPhone两家独大,各领风骚。虽有phone版的ubuntu系统和webos之类的一些系统陆续出现,不过市场格局已定,使用者寥寥无几。我们接下来要学习的,就是二者之一的Android系统咯!


想必大家都知道,Android系统已经火了好几年,Android App的开发市场也已较为成熟,各种资源也已经遍地开花了。笔者的工作是bsp和project开发,所以接下的知识重点并不会是app的编写,而将围绕以下几个笔者工作中时常涉及的主题逐项展开:

1:repo git相关基础知识

2:linux入门(常用命令的使用和driver编写)

3:qcom平台开机流程解密

4:Android init相关的重要知识解密

5:权限相关知识

6:Android系统中重要的命令(am input等)

7:panel/touch/fingerprint等基础component bring up教学

8:从input系统探秘Android框架

9:cpu体系结构入门(主要以x86位例)及系统调用(system call)的实现过程

10:开始debug系统问题(死锁、watchdog bark、memory不稳)

11:开始我们的performance优化(跑分、suspend/resume速度、app launch速度)

12:memory优化(lowmemorykiller和内存泄漏优化)

13:开始解决Monkey 和CTS/GTS问题

14:逆向apk

15:开始使用gdb ramdump t32来解决我们的实际问题

16:文件系统和partition table探秘

17:解密工厂生产流程

18:彩蛋:细数开发工作中那些遇到的坑


综合看来,整个tutorial涉及知识点较多,且其中很大一部分知识点需要一定的基础知识支撑,所以将这些相互依赖的知识点摊开后,最终的章节应该会多出不少~

由于本人水平有限,部分知识点难免会有局限性,望与大家共同学习探讨。

            ·平时工作较为繁忙,真心祝愿这个庞大的工程最后能完工,为大家少走弯路,为自己不负韶华·



猜你喜欢

转载自blog.csdn.net/a4262562/article/details/74853413