发布: 更新时间:2024-06-26 15:52:17
Android源码庞大,涉及几十个G、上千万个文件,普通的IDE无法完全加载全部代码,更不用谈搜索、索引,这对于Android源码的学习、调试非常不利。
OpenGrok是一个源码搜索及交叉引用查询引擎,以Java编写,可用于源码搜索、交叉引用查询、以及源码树定位。它支持多种编码语言和多种代码版本控制引擎系统。
OpenGrok为一个方便快速的源码搜索及交叉引用查询引擎。它以Java编写,可用于源码搜索、交叉引用查询、以及源码树定位。它支持多种编码语言和多种代码版本控制引擎系统。
CTags是一个在Linux系统中广泛使用的工具,它可以帮助程序员更有效地浏览和管理大型代码库。CTags能够创建一个索引文件,其中包含代码库中的函数、类、结构体等关键词的位置信息。
Tomcat是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,由Apache软件基金会(Apache Software Foundation)的Jakarta项目开发。 它是一个Servlet容器,同时也是JSP(Java Server Pages)的一个容器,支持最新的Servlet和JSP规范。Tomcat的设计目标是提供一个可靠且易于使用的Web应用服务器,特别适用于中小型系统和并发访问用户不是很多的场合。
sudo apt install openjdk-11-jdk
sudo apt install autoconf automake
git clone https://github.com/universal-ctags/ctags.git
cd ctags
./autogen.sh
./configure
make
sudo make install
# http://tomcat.apache.org/
tar -xvf apache-tomcat-10.1.24.tar.gz
sh apache-tomcat-10.1.24/bin/startup.sh
访问:
http://127.0.0.1:8080/
# https://github.com/oracle/opengrok
# https://github.com/oracle/opengrok/releases
tar -xvf opengrok-1.13.7.tar.gz
cp opengrok-1.13.7/lib/source.war apache-tomcat-10.1.24/webapps/
sudo vi ~/.bashrc
# opengrok
export JAVA_HOME=/usr
export OPENGROK_TOMCAT_BASE=/media/2TB/lzq/openGrok/apache-tomcat-10.1.24
export CATALINA_HOME=/media/2TB/lzq/openGrok/apache-tomcat-10.1.24
export OPENGROK_APP_SERVER=Tomcat
export OPENGROK_INSTANCE_BASE=/media/2TB/lzq/openGrok/opengrok-1.13.7
export LANG=zh_CN.UTF-8
source ~/.bashrc
mkdir opengrok-1.13.7/etc opengrok-1.13.7/src opengrok-1.13.7/data opengrok-1.13.7/history
cp -r xxx opengrok-1.13.7/src/
java -jar opengrok-1.13.7/lib/opengrok.jar -P -S -v -s opengrok-1.13.7/src -d opengrok-1.13.7/data -H --repository opengrok-1.13.7/history -W opengrok-1.13.7/etc/configuration.xml
# apache-tomcat-10.1.24/webapps/source/WEB-INF/web.xml
<context-param>
<description>Full path to the configuration file where OpenGrok can read its configuration</description>
<param-name>CONFIGURATION</param-name>
<param-value>/media/2TB/lzq/openGrok/opengrok-1.13.7/etc/configuration.xml</param-value>
</context-param>
一开始我下载apache-tomcat-9.0.89,然后http://127.0.0.1:8080/source/, 一直出现404。经历一系列各种乱七八糟的调试后,始终起不来。后面更新apache-tomcat-10.1.24,完美。原因不明。
我最开始在opengrok-1.13.7/src/下创建了UIS7870文件夹,然后生成索引的目标目录是指向:opengrok-1.13.7/src/,导致projects仅有UIS7870,故不显示(具体可参考configuration.xml & apache-tomcat-10.1.24/webapps/source/menu.jspf);后续将目标索引目录修改成opengrok-1.13.7/src/UI7870/即可。
# sudo cat apache-tomcat-10.1.24/conf/server.xml
<Server port="8006" shutdown="SHUTDOWN">
<Connector port="8085" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector protocol="AJP/1.3"
address="::1"
port="8010"
redirectPort="8443" />