opengrok搭建Android源码阅读环境

admin 2025年6月12日22:47:48评论24 views字数 2590阅读8分38秒阅读模式

前言

最近在看Android源码,经常访问的在线网站忽然报错,打不开。

于是想着,能不能在本地搭建一个阅读环境。耗费一下午的时间,在Windows上搭建成功了。但说实话,非必要不建议师傅们通过此方式搭建源码较大的opengrok源码阅读环境。

以我搭建的android-8.0.0_r1的本地环境举例,本身源码9GB,opengrok将代码中关键词添加索引之类的,有需要额外的16GB。对本身磁盘有限的电脑不友好。

opengrok搭建Android源码阅读环境

同时,opengrok对Android进行索引的时候,耗费时间很长。我给了Java 32GB的内存,也要5:19:23到7:28:42,两个多小时,才完成了。

如果想要阅读Android源码,推荐几个在线阅读的网站:

  • https://xrefandroid.com/
  • https://cs.android.com/android/platform/superproject/main?hl=zh-cn
  • http://aospxref.com/android-8.0.0_r36/ 目前打不开

下面分享如何使用opengrok搭建源码阅读环境。opengrok可以用官方的docker,我这里用的是Windows本地搭建。

opengrokdocker地址:https://hub.docker.com/r/opengrok/docker/

环境和版本

  • Windows11
  • JDK21
  • apache-tomcat-10.1.42
  • opengrok https://github.com/oracle/opengrok/releases/tag/1.14.0
  • ctags https://github.com/universal-ctags/ctags-win32/releases/tag/v6.1.0

下载android指定版本的源码:aosp的国内可以访问清华源,参考:https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/

这个repo貌似只能linux之类用,windows的环境不太好搭建。

RuoYi测试

因为Android源码很大,编译时间长,先用一个小的项目看能否跑通,跑通了再尝试。

git clone https://github.com/yangzongzhuan/RuoYi.git
java -Xms32g -Xmx32g -jar D:code_source_readeropengrok-1.14.0libopengrok.jar -P -S -v -s E:codesourceRuoYi -d E:codesourceRuoYi_data  -W E:codesourceRuoYi_dataconfiguration.xml -c "E:aospctags-v6.1.0-x64ctags.exe"
  • -Xms32g -Xmx32g 配置给Java的最大和最小内存是32g,这个给多少g看师傅们的真实情况,建议给主机的一半内存
  • -P 表示为 source root 目录下的每个一级子目录生成一个工程。
  • -S 表示搜索并添加 "external" source repositories。
  • -v 表示打印操作的进度信息。
  • -s 表示指定 source root。
  • -d 表示指定 data root。
  • -W 表示指定将配置configuration.xml写到该文件。

如果运行成功了,会生成文件E:codesourceRuoYi_dataconfiguration.xml

tomcat配置

从opengrok-1.14.0lib下复制source.war到tomcat的webapps下opengrok搭建Android源码阅读环境

运行tomcat bin目录下的startup.bat,初次开启时,会解压source.war到source目录。

修改webappssourceWEB-INF目录下配置文件web.xmlopengrok搭建Android源码阅读环境

搜索关键词configuration.xml,将默认路径替换为上一步的configuration.xml路径,比如:

<context-param>
    <param-name>CONFIGURATION</param-name>
    <param-value>E:/codesource/RuoYi_data/configuration.xml</param-value>
</context-param>

再次启动tomcat

set JAVA_HOME=C:Program FilesJavajdk-21
D:code_source_readerapache-tomcat-10.1.42binstartup.bat

访问 http://localhost:8080/source/

成功opengrok搭建Android源码阅读环境

源码阅读opengrok搭建Android源码阅读环境

Android8

上一步成功后,尝试使用 opengrok.jar 调用 ctags 来为源码建立android-8索引。命令行:

java -Xms32g -Xmx32g -jar D:code_source_readeropengrok-1.14.0libopengrok.jar -P -S -v -s E:aospandroid-8.0.0_r1 -d E:aospandroid-8.0.0_r1_data  -W E:aospandroid-8.0.0_r1_dataconfiguration.xml -c "E:aospctags-v6.1.0-x64ctags.exe"

tomcat修改source目录下的web.xmlopengrok搭建Android源码阅读环境

访问 http://localhost:8080/source/opengrok搭建Android源码阅读环境

就可以像在线访问一样,查看Android源码了。

参考资料

  • 搭建大型源码阅读环境——使用 OpenGrok https://developer.aliyun.com/article/1632216
  • Ubuntu18.04下搭OpenGrok阅读Android 11.0源码 https://zhaoyf.cn/2021/03/20/android-opengrok/
  • Ubuntu下搭建OpenGrok浏览Android源码 https://skypx.github.io/2019/08/25/data_Ubuntu&OpenGrok/
  • https://github.com/wurensen/aosp-learning

欢迎关注公众号~~~

原文始发于微信公众号(进击的HACK):opengrok搭建Android源码阅读环境

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月12日22:47:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   opengrok搭建Android源码阅读环境https://cn-sec.com/archives/4155559.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息