萧雁翎
关于framework,更多是做的应用层之下的系统层面的东西。比如电源管理、消息队列、包管理等等,还包括对硬件的支持及系统提供给上层的硬件功能调用接口。framework的学习必然离不开不断编译rom和刷机。这就要求有耐心有时间有兴趣。而且由于framework层多数模块都是以JNI方式被调用的,因此你需要有比较扎实的C语言基础,之少能看懂程序结构。除此之外,对你想要详细研读的模块在应用层的应用需要有必要的理解。我刚开始看源码的时候是从电源管理模块开始看的,就是因为当时对android系统自带的电源提醒方式以及电量通知不太满意,想重新定义更多层级的提醒。刚开始也是一头雾水,但还是硬着头皮一点点啃。这个过程中,为了防止忘记之前看过什么,所以又不断对看过的源码做注释并做阅读笔记。大概两三个月,虽然了解的也比较浅显,但是我的目的达到了。源码之路漫漫,看个三五年都不一定敢说能够整体吃透。虽如此,但只要有钻研的方向和基本的能力,相信工作中遇到的framework层的改动应当还是能够负担得住的