本篇博客只是记录了阅读源码的几种方法,如果想知道怎么阅读源码的话推荐:
大牛们是怎么阅读 Android系统源码的?
我们必须先知道几个网站:
- AOSP项目官方(Android Open Source Project)
- 这个一定要先读. 项目介绍, 代码下载, 环境搭建, 刷机方法, Eclipse配置都在这里. 这是一切的基础.
- Android官方Training
- 这个其实是给App开发者看的. 但是里面也有不少关于系统机制的介绍, 值得细读.
1、使用Android Studio阅读
这里先说明两个常用的快捷键:
- “Ctrl + 鼠标左键”
- 定位具体源码
- “双击 Shift”
- 在查找框里输入目标类的名字来定位
当想要看具体类的源码的时候,如果 Android SDK 里对应 API Level 的 Source 包有下载的话,IDE 会打开对应的 Source 包;如果还没有下载,IDE 会把对应 API Level 的 android.jar 包反编译成 Java代码,这个规则对于一些第三方的开源项目也一样。
我们可以通过SDK Manager下载source,下载完成后再sdk目录下会有source文件夹:
。
下载好了之后Android Studio就可以查看具体类的源码了。
但是这源码大小明显不科学,我们的Android源码怎么可能100M都不到?
这是因为Android SDK 自带的 Source 源码包,并没有包括所有的 Android Framework 的源码,仅仅提供给应用开发参考用,一些比较少用的系统类的源码并没有给出。
所以我们看源码时经常会出现下面的情况:
view的源码:
public class View implements Callback, android.view.KeyEvent.Callback, AccessibilityEventSource {
...