打算本週再寫一篇關於Android
的文章, 卻忘了帶工做電腦的充電器。上週主要從事了安卓源碼的閱讀工做,那麼今天就來分享下Android
源碼的閱讀總結。不要天真的覺得這是篇介紹安卓源碼的文章,畢竟一週的時間不足以產生更多的心得體會,而是介紹一種閱讀源碼的利器——OpenGrok
。工欲善其事必先利其器!!!java
其實在開發過程當中,一般遇到一些閱讀源碼的工做。只不過因爲代碼量少的緣由,使用 IDE,如:AndroidStudio
,和VSCode
等文本編輯工具。但因爲 AOSP (Android Open Source Project
)的代碼體系巨大,使用上述工具顯得力不從心,那麼請使用OpenGrok
。linux
這是每一個使用Java語言開發者必須安裝的開發環境,若是你是c/c++
等其餘語言的開發者,請參閱安裝Java環境。c++
Tomcat
服務器是一個免費的開放源代碼的Web
應用服務器,屬於輕量級應用服務器。git
下載地址:github
windows/mac/linux 通用 apache-tomcat-9.0.14.zipweb
windows 64 專用 apache-tomcat-9.0.14-windows-x64.zipapache
下載後解壓在本地便可。windows
在tomcat
的bin
目錄中找到startup.bat
( windows )或startup.sh
(mac/linux)文件,雙擊啓動tomcat
服務。瀏覽器
開源地址及安裝教程見:github.com/universal-c…tomcat
Windows 系統選擇下面的版本下載成功後解壓到本地,並將解壓後的路徑添加至path
環境變量。
Mac 系統使用命令進程安裝。
brew install --HEAD universal-ctags/universal-ctags/universal-ctags
複製代碼
下載頁面:github.com/oracle/open… ,最新版本opengrok-1.1.2.tar.gz
下載成功後解壓在本地,將lib
目錄下的source.war
文件解壓到tomcat
的webapps
目錄下。
data root
用於放置生成的索引文件和配置信息文件configuration.xml
,建議在OpenGrok
目錄下新建data
文件夾。
在OpenGrok
目錄下新建project文件夾做爲 source root
。OpenGrok
認爲source root
目錄下的每一個文件夾都是一個項目。能夠根據此特性添加多個項目。
java -jar opengrok/lib/opengrok.jar -s opengork/project -d opengrok/data -W opengrok/data/configuration.xml
複製代碼
命令中opengrok表示解壓後的opengrok目錄。
在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>
複製代碼
完成上述操做以後,在瀏覽器中輸入 http://localhost:8080/source 瀏覽OpenGrok
頁面。
因爲本機沒下載Android
源碼,在此使用OpenSSL
源碼演示。
OpenSSL
地址:github.com/openssl/ope…
只需將須要閱讀的原發放在OpenGrok
的source root
目錄下。
在opengrok/project
目錄下執行下面的命令:
mklink /J openssl openssl目錄
複製代碼
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的技術小站