0 前言
打算本周再写一篇关于Android
的文章, 却忘了带工作电脑的充电器。上周主要从事了安卓源码的阅读工作,那么今天就来分享下Android
源码的阅读总结。不要天真的以为这是篇介绍安卓源码的文章,毕竟一周的时间不足以产生更多的心得体会,而是介绍一种阅读源码的利器——OpenGrok
。工欲善其事必先利其器!!!
其实在开发过程中,通常遇到一些阅读源码的工作。只不过由于代码量少的原因,使用 IDE,如:AndroidStudio
,和VSCode
等文本编辑工具。但由于 AOSP (Android Open Source Project
)的代码体系巨大,使用上述工具显得力不从心,那么请使用OpenGrok
。
1 准备工作
1.1 Java 环境
这是每个使用Java语言开发者必须安装的开发环境,如果你是c/c++
等其他语言的开发者,请参阅安装Java环境。
1.2 Tomcat 服务
Tomcat
服务器是一个免费的开放源代码的Web
应用服务器,属于轻量级应用服务器。
下载地址:
-
windows/mac/linux 通用 apache-tomcat-9.0.14.zip
-
windows 64 专用 apache-tomcat-9.0.14-windows-x64.zip
下载后解压在本地即可。
在tomcat
的bin
目录中找到startup.bat
( windows )或startup.sh
(mac/linux)文件,双击启动tomcat
服务。
1.3 Universal Ctags
开源地址及安装教程见:github.com/universal-c…
Windows 系统选择下面的版本下载成功后解压到本地,并将解压后的路径添加至path
环境变量。
-
ctags-2019-01-18_5a2b65f8-x64.zip
-
ctags-2019-01-18_5a2b65f8-x86.zip
Mac 系统使用命令进程安装。
brew install --HEAD universal-ctags/universal-ctags/universal-ctags
复制代码
2 配置 Open Grok
2.1 下载
下载页面:github.com/oracle/open… ,最新版本opengrok-1.1.2.tar.gz
2.2 解压 source.war
下载成功后解压在本地,将lib
目录下的source.war
文件解压到tomcat
的webapps
目录下。
2.3 添加 data root
data root
用于放置生成的索引文件和配置信息文件configuration.xml
,建议在OpenGrok
目录下新建data
文件夹。
2.4 添加 source root
在OpenGrok
目录下新建project文件夹作为 source root
。OpenGrok
认为source root
目录下的每个文件夹都是一个项目。可以根据此特性添加多个项目。
2.5 配置configuration.xml
- 生成 configuration.xml
java -jar opengrok/lib/opengrok.jar -s opengork/project -d opengrok/data -W opengrok/data/configuration.xml
复制代码
命令中opengrok表示解压后的opengrok目录。
- 配置 configuration.xml
在tomcat/webapps/source/WEB-INF/web.xml
修改CONFIGURATION
变量,指向刚刚生成的configuration.xml
文件路径。比如,楼主电脑的配置如下。
<display-name>OpenGrokdisplay-name>
<description>A wicked fast source browserdescription>
<context-param>
<description>Full path to the configuration file where OpenGrok can read its configurationdescription>
<param-name>CONFIGURATIONparam-name>
<param-value>D:\develop\opengrok-1.1.1\data\configuration.xmlparam-value>
context-param>
复制代码
2.6 启动OpenGrok
完成上述操作之后,在浏览器中输入 http://localhost:8080/source 浏览OpenGrok
页面。
3 添加源码目录
由于本机没下载Android
源码,在此使用OpenSSL
源码演示。
OpenSSL
地址:github.com/openssl/ope…
只需将需要阅读的原发放在OpenGrok
的source root
目录下。
在opengrok/project
目录下执行下面的命令:
- windows
mklink /J openssl openssl目录
复制代码
- mac/linux
ln -s openssl目录 openssl
复制代码
再建立索引
java -jar opengrok/lib/opengrok.jar -P -S -v -s opengork/project -d opengrok/data -W opengrok/data/configuration.xml
复制代码
命令中opengrok表示解压后的opengrok目录。
重启tomcat
服务,刷新页面 http://localhost:8080/source/
双击openssl
,打开后的页面如下:
或者直接搜索某个文件:
在代码阅读页面,点击方法名和类名,亦会跳转搜索页面。
觉得有用?那打赏一个呗。我要打赏
此处是广告:Flueky的技术小站