使用OpenGrok閱讀源碼

0 前言

打算本週再寫一篇關於Android的文章, 卻忘了帶工做電腦的充電器。上週主要從事了安卓源碼的閱讀工做,那麼今天就來分享下Android源碼的閱讀總結。不要天真的覺得這是篇介紹安卓源碼的文章,畢竟一週的時間不足以產生更多的心得體會,而是介紹一種閱讀源碼的利器——OpenGrok。工欲善其事必先利其器!!!java

其實在開發過程當中,一般遇到一些閱讀源碼的工做。只不過因爲代碼量少的緣由,使用 IDE,如:AndroidStudio,和VSCode等文本編輯工具。但因爲 AOSP (Android Open Source Project)的代碼體系巨大,使用上述工具顯得力不從心,那麼請使用OpenGroklinux

1 準備工做

1.1 Java 環境

這是每一個使用Java語言開發者必須安裝的開發環境,若是你是c/c++等其餘語言的開發者,請參閱安裝Java環境c++

1.2 Tomcat 服務

Tomcat服務器是一個免費的開放源代碼的Web應用服務器,屬於輕量級應用服務器。git

下載地址:github

  1. windows/mac/linux 通用 apache-tomcat-9.0.14.zipweb

  2. windows 64 專用 apache-tomcat-9.0.14-windows-x64.zipapache

下載後解壓在本地便可。windows

tomcatbin目錄中找到startup.bat( windows )或startup.sh(mac/linux)文件,雙擊啓動tomcat服務。瀏覽器

1.3 Universal Ctags

開源地址及安裝教程見:github.com/universal-c…tomcat

Windows 系統選擇下面的版本下載成功後解壓到本地,並將解壓後的路徑添加至path環境變量。

  1. ctags-2019-01-18_5a2b65f8-x64.zip

  2. 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文件解壓到tomcatwebapps目錄下。

2.3 添加 data root

data root 用於放置生成的索引文件和配置信息文件configuration.xml,建議在OpenGrok目錄下新建data文件夾。

2.4 添加 source root

OpenGrok目錄下新建project文件夾做爲 source rootOpenGrok認爲source root目錄下的每一個文件夾都是一個項目。能夠根據此特性添加多個項目。

2.5 配置configuration.xml

  1. 生成 configuration.xml
java -jar opengrok/lib/opengrok.jar -s opengork/project -d opengrok/data -W opengrok/data/configuration.xml
複製代碼

命令中opengrok表示解壓後的opengrok目錄。

  1. 配置 configuration.xml

tomcat/webapps/source/WEB-INF/web.xml 修改CONFIGURATION變量,指向剛剛生成的configuration.xml文件路徑。好比,樓主電腦的配置以下。

<display-name>OpenGrok</display-name>
<description>A wicked fast source browser</description>
<context-param>
    <description>Full path to the configuration file where OpenGrok can read its configuration</description>
    <param-name>CONFIGURATION</param-name>
    <param-value>D:\develop\opengrok-1.1.1\data\configuration.xml</param-value>
</context-param>
複製代碼

2.6 啓動OpenGrok

完成上述操做以後,在瀏覽器中輸入 http://localhost:8080/source 瀏覽OpenGrok頁面。

3 添加源碼目錄

因爲本機沒下載Android源碼,在此使用OpenSSL源碼演示。

OpenSSL地址:github.com/openssl/ope…

只需將須要閱讀的原發放在OpenGroksource root目錄下。

opengrok/project目錄下執行下面的命令:

  1. windows
mklink /J openssl openssl目錄
複製代碼
  1. 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的技術小站

相關文章
相關標籤/搜索