IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> opengrok搭建Android代码搜索环境 -> 正文阅读

[移动开发]opengrok搭建Android代码搜索环境

????????早年曾经搭建过,最近研究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路径(即上一步建立索引时候的参数${indexing_root}/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>

大功告成:

enjoy!

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-11-15 15:59:21  更:2021-11-15 15:59:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:52:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码