opengroke是一個代碼索引、瀏覽的工具,可以幫你快速搜索、對照、定位你的源代碼樹。作者因為要查看Android系統(tǒng)源碼,所以需要這么一個工具來輔助,實驗證明它是非常好用的,比source insight好用很多,那么接下來就來說一下它在Ubuntu下是怎么搭建起來的。
=================================================
首先說一下有哪些步驟:
1、搭載Java環(huán)境
2、安裝ctags
3、安裝Tomcat
4、安裝和配置opengrok
=================================================
提醒一下,作者的系統(tǒng)是64bit的Ubuntu-12.04。接下來說一下具體各個步驟要做的有哪些。
1、搭載Java環(huán)境
? ?1.1 作者準備使用的Java版本是jdk-6u45-linux-x64.bin,大家可以下載新的版本
? ?1.2 將jdk-6u45-linux-x64.bin拷貝到Ubuntu的/usr/java/目錄下,沒有請創(chuàng)建一個 mkdir?/usr/java/
? ? ? ?cp /mnt/hgfs/eleven/tool/jdk-6u45-linux-x64.bin /usr/java/
? ?1.3 進入/usr/java/目錄,修改jdk-6u45-linux-x64.bin的可執(zhí)行權限
? ? ? ?chmod u+x jdk-6u45-linux-x64.bin
? ?1.4 執(zhí)行jdk-6u45-linux-x64.bin進行安裝,其實是在解壓這個文件
? ?? ? ./jdk-6u45-linux-x64.bin
? ?1.5 接下來配置環(huán)境變量
?? ?? 1.5.1 打開/etc/profile
? ?? ? ? gedit /etc/profile
? ?? ? 1.5.2 在文件最后添加以下內容
? ??
?? ? ? ?export JAVA_HOME=/usr/java/jdk1.6.0_45
?? ?? ??
? ?export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
?? ?? ??
? ?export PATH=$PATH:$JAVA_HOME/bin
? ?? ? 1.5.3 執(zhí)行下面命令,讓配置立即生效
?? ?? ?? ? ??source /etc/profile
? ?? ? 1.5.4 驗證以下是否安裝成功
? ????? ? ??執(zhí)行 java -version 出現(xiàn)下面字段
???
????
? ??java version "1.6.0_45"
??? ????
? ??Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
??? ????
? ??Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
??? ? ??? ? ?或者測試一下各個變量是否能用,下面舉例JAVA_HOME,其他以此類推
??
?????
? ??執(zhí)行?echo $JAVA_HOME?出現(xiàn)下面字段
??? ????
? ??/usr/java/jdk1.6.0_45
?? ???? ? ? ?至此,Java環(huán)境安裝完成
2、安裝ctags
? ?直接在Ubuntu終端上輸入 sudo apt-get install ctags,即可完成安裝
3、安裝Tomcat
? ?3.1?首先準備好Tomcat,作者用的是apache-tomcat-6.0.44.tar.gz
? ?3.2 解壓縮,這里需要提醒一下,為了減少因為權限問題而造成的麻煩,最好把Tomcat和opengrok安裝在自己有權限的目錄下,執(zhí)行以下命令,完成解壓
? ? ? ?tar -xvf apache-tomcat-6.0.44.tar.gz
? ?3.3 解壓后進入Tomcat的bin目錄,啟動Tomcat服務
? ? ? ?cd apache-tomcat-6.0.44/bin/
? ? ? ?./startup.sh?
? ?3.4 啟動Tomcat服務后,在瀏覽器中輸入網(wǎng)址:http://localhost:8080/ 能夠顯示以下頁面證明Tomcat運行成功。
4、安裝和配置opengrok
? ?4.1 首先準備好opengrok,作者用的是opengrok-0.11.1.tar.gz,OpenGrok下載地址:http://opengrok.github.io/OpenGrok/?
? ?4.2 解壓縮,上面已經(jīng)說了,注意權限問題,執(zhí)行以下命令,完成解壓
? ? ? ?tar -zxvf opengrok-0.11.1.tar.gz
? ?4.3 解壓后進入opengrok的lib目錄,將source.war拷貝到apache-tomcat/webapps目錄下
? ? ? ?cp source.war ~/tool/apache-tomcat-6.0.44/webapps/
? ? ? ?這里的~/tool/apache-tomcat-6.0.44/webapps/為作者Tomcat的安裝目錄
? ?4.4 在瀏覽器中輸入 http://localhost:8080/source/ 網(wǎng)址看到以下界面證明OpenGrok運行成功。(注意:因為作者已經(jīng)建立過索引了,所有右邊project有顯示,第一次打開是沒有的)
? ?4.5 開始配置opengrok
? ? ? ?4.5.1 進入opengrok的bin目錄,并打開腳本文件OpenGrok
? ? ? ? ? ? ?cd ~/tool/opengrok-0.11.1/bin//此處為作者opengrok的安裝目錄
? ? ? ? ? ? ?gedit OpenGrok
? ? ? ?4.5.2 找到DefaultInstanceConfiguration函數(shù)里面的
? ? ? ? ? ? ?OPENGROK_INSTANCE_BASE="${OPENGROK_INSTANCE_BASE:-/var/opengrok}"
? ? ? ? ? ? ?路徑/var/opengrok其實就是默認尋找你的源碼路徑src和存放生成的data、etc等目錄文件的位置,也可以根據(jù)自己的要求進行修改,以下為作者修改過的路徑:
? ? ? ?4.5.3 修改JavaHome路徑,如圖第422行:
? ? ? ?4.5.4 添加tomcat路徑,如圖第521行:
? ? ? ?4.5.5 打開并修改web.xml配置文件
? ?4.6 部署,進入opengrok的bin目錄,執(zhí)行以下命令進行部署
? ? ? ?./OpenGrok deploy
? ?4.7 建立Android源碼索引
? ? ? ?./OpenGrok index ~/aosp //~/aosp為Android源碼路徑
? ? ? ?因為Android源碼的龐大,建立索引需要一段比較長的時間,請耐心等候