在没有 google 的时代,当在开发中遇到问题时,程序员唯一的方式就是 read the fuck code ,虽然现在可以通过搜索引擎解决大部分开发问题,但是要想理解其内部运行原理,还是要去读源代码。
android 源代码实在是太庞大,有时只需要找某一函数的调用位置。这时可以
1.打开 http://androidsource.top/code/ident。
2.输入如 PackageManager
就可以找到它的定义位置和调用位置。
在http://androidsource.top/code/source下
可以浏览 android 2.3.5, 4.0.4, 4.4.2, 5.1.0等版本的代码
有时我们需要比较某一个文件在两个版本之间的改变,以 PackageManager
为例
1. 打开其源代码文件http://androidsource.top/code/source/frameworks/base/core/java/android/content/pm/PackageManager.java
2. 然后选中其右上角的Diff markup
。
3. 通过下拉框选中 4.4.2 版本。
4. 这时就可以看到 4.0.4 和 4.4.2 之间文件的版本变动情况
http://androidsource.top/code/diff/frameworks/base/core/java/android/content/pm/PackageManager.java?~v=4.0.4_r1&%21v=4.4.2_r1
有时只需要查找一个字符串,如 android.permission.NFC
,则可以在选中其右上角的General search
然后输入 android.permission.NFC
就可以查到含有它的所有文件,这个主要可以用来查找 android 报错信息。