一直以来,Android源代码查看与搜索都是Android开发者的一个痛点,虽然Android Studio 工具支持下载源码后跳转到底层实现,但是有时候还是不能满足我们的需求,最典型的例子就是我们要更改源码实现来修复一个bug的时候。如PopupWindow
,Android 6.0 以上点击PopupWindow
以外区域不能消失的问题,我们需要对比不同Android版本的不同实现,这个时候Android Studio 直接查看源码就满足不了了。
GrepCode、Android SDK Search 和 androidxre
以前,我们要查看某个指定版本的某个控件的源码实现,需要把Android源码项目下载到本地,再通过文本IDE打开查看,这样看源码效率很低,不能在代码内跳转,搜索也有点困难。去年我写了一篇文章,介绍了2个在线源码查看工具GrepCode
和Android SDK Search
算是2个不错的选择,除此之外,androidxref
也使用得比较多。
GrepCode:
Android SDK Search:
androidxref
:
以上三种方式,虽然代码更新慢、体验不算好,但总算也能满足我们的大多数需求。现在,我们可以跟它们挥手作别了,因为Google官方发布了源码查看工具:Android Code Search
。
官方源码查看工具:Android Code Search
12月18日,Android 官方发布源码查看工具:Android Code Search,地址为:https://cs.android.com/
分为了两个项目,Android 和 AndroidX,AndroidX包含了CameraX和Jetpack Compose 等一系列Androidx系列库的源码。
目前的功能有:
- 方便的查看、搜索源代码
- 在整个代码库之间进行交叉引用的代码跳转,可以单击源代码的一部分跳转到另一部分
- 在 Android 的开源代码分支之间进行切换 (并非所有分支都有交叉引用信息)
这么牛逼的工具,总算是等到官方正版了,西哥第一时间就去试了一下,体验非常不错,不仅可以代码内直接跳转,还支持版本切换,在指定目录搜索文件和全局搜索文件:
左边的目录可以展开,就像IDE一样方便
搜索一个文件后,会列出匹配的所有文件列表:
选中文件后,会来到具体的类,昨天还会显示该文件所在的包下面的所有文件,如下图:
鼠标点击方法和类,就可以跳转到具体的类和方法定义的地方,跟AS体验一样好,比如,在PopupWindow.java
中跳转到StateListDrawable.java
左上角可以很方便的切换版本,还可以查看每个提交记录:
差不多就是以上这些功能了,体验是真不错,还没体验的赶快去试试!