opengrok搭建Android代码搜索环境

wuchangjian2021-11-14 17:18:45编程学习

        早年曾经搭建过,最近研究android12,代码比较新,网上没有找到现成的搜索环境,干脆搭一个,没想到搭建过程挺费周折,特此纪录。

        1. 不要用太新的opengrok,用了1.7.xx版本,结果报org.apache.lucene.codecs.lucene87错误,用回1.5.10版本就没问题

        2. 要用univasal ctag版本,建议自己编译一个,几分钟的事

        3. 先用一个小点的工程全流程跑一遍,确认没有问题,再搭建android工程,毕竟需要花费十几个小时

以下是详细步骤

1.下载opengrok,解压

https://github.com/oracle/opengrok/releases/download/1.5.10/opengrok-1.5.10.tar.gz

2. 下载ctags,编译,具体参考github说明,写的很详细了

https://github.com/universal-ctags/ctags

3. 安装tomcat,前提是安装好jvm

实际测试ubuntu直接用apt install,或者用下载压缩包解压的方式均可行

这一步结束后,确保打开http://localhost:8080可以看到tomcat的欢迎页

4. 拷贝source.war

cp opengrok-1.5.10/lib/source.war /var/lib/tomcat9/webapps/aosp.war

aosp.war名字随意起,最终影响打开的网页地址

这一步结束后,确保打开http://localhost:8080/aosp后,显示一个错误页,说源代码路径找不到之类的

5. 用如下命令建立索引,嫌麻烦可以用写好的脚本,》》》》下载

java $JAVA_OPTS -jar /mnt/sdb/code/opengrok-1.5.10/lib/opengrok.jar -H -P -S -G -v \
 -c /usr/local/bin/ctags \
 -s ${source_root} \
 -d ${indexing_root} \
 -U http://localhost:8080/aosp \
 -W ${indexing_root}/configuration.xml \
 -m 256

其中source_root是源代码路径,可以用软链接的方式把不同的源代码链接到此目录,搜索的时候可以按目录搜索不同的源代码

indexing_root是索引文件的路径,产生的文件会十分庞大,自己找个地方放

6. 修改代码路径

vim /var/lib/tomcat9/webapps/aosp/WEB-INF/web.xml

把如下章节中的configuration.xml路径改成,建立索引目录下的configuration.xml路径

修改前:
<param-name>CONFIGURATION</param-name>
<param-value>/etc/opengrok/configuration.xml</param-value>

修改后
<param-name>CONFIGURATION</param-name>
<param-value>/mnt/sdb/code/opengrok_data/configuration.xml</param-value>

大功告成:

 

相关文章

嵌套循环的使用

1.嵌套循环:将一个循环结构A声明在另一个循环结构B的循环体中࿰...

面对对象编程(二)

在面向对象编程中主要有三大特征:  1.封装  2.继承  3.多态 1.封...

【yolov5+deepsort运行和训练自数据集(自看)】

       本人在读科研狗,因为研究的是目标跟踪测距等等࿰...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。