三、下载Android源码

1、安装repo

确保主目录下有一个 bin/ 目录,并且该目录包含在路径中:

mkdir  ~/bin

PATH=~/bin:$PATH
2、下载 Repo 工具,并确保它可执行:

curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o ~/bin/repo

sudo chmod a+x  ~/bin/repo

3、如果提示Command 'curl' not found,执行提示的下载命令即可 sudo apt install curl

4、为了保证能正常翻墙下载,把 ~/bin/repo 中的REPO_URL 改成下面

REPO_URL = 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'

android虚拟机 docker Android虚拟机框架源码_android虚拟机 docker

5、配置Git

sudo apt-get install git

git config --global user.name "姓名"

git config --global user.email "邮箱"

6、初始化仓库前,先建一个放源码的文件夹

mkdir AndroidSource

进入目录执行repo init命令,-b 后面跟的是版本,这个是androidP

repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-9.0.0_r3

初始化成功后,执行同步开始下载,等待下载完成即可。

repo sync

android虚拟机 docker Android虚拟机框架源码_xml_02

 

四、配置OpenGrok

1、配置OpenGrok前需要的软件tomcat,根据经验用安装包好配置,这里都是下载好的压缩包。

apache-tomcat-8.5.51.tar.gz

opengrok-0.12.1.6.tar.gz

说明:opengrok版本太高,里面没有bin目录,没有配置过,想尝试的可以去下面的链接看看。

https://github.com/oracle/opengrok/wiki/How-to-setup-OpenGrok

2、把tomacat解压到相应的目录,执行bin目录下的startup.sh,启动tomcat服务

android虚拟机 docker Android虚拟机框架源码_tomcat_03

因为这里用的虚拟机,所以在windows上访问虚拟机的ip,http://192.168.188.5:8080,查看能否正常启动,正常启动如图:

android虚拟机 docker Android虚拟机框架源码_tomcat_04

3、解压OpenGrok后,把/opengrok-0.12.1.6/lib/ 目录下的source.war 拷贝到 tomcat里的webapps下,打开浏览器,即可访问http://192.168.188.5:8080/source/

4、安装ctag

sudo apt-get install exuberant-ctags

这里安装的exuberant-ctags,网上有些说一定要安装universal-ctags,不明所以,我用是没问题的,公司用的也是exuberant-ctags,如果这里安装了后面执行不了,去尝试一下universal-ctags。

5、修改一些OpenGrok默认参数

(1)修改opengrok-0.12.1.6/bin/OpenGrok文件,把opengrok的路径改成自己的路径,修改如下:

OPENGROK_INSTANCE_BASE="/home/he/OpenGrok/opengrok-0.12.1.6"

如果不知道之间的路径怎么填,可以输入pwd,复制路径即可。

android虚拟机 docker Android虚拟机框架源码_android_05

android虚拟机 docker Android虚拟机框架源码_android虚拟机 docker_06

可以看到SRC_ROOT就是源码的路径,这里默认是在OPENGROK_INSTANCE_BASE目录下的src,可以在这里修改到自己的源码路径。我这里不修改,在后面扫描时,指定扫描的源码路径即可。

(2)OPENGROK_TOMCAT_BASE下添加tomcat的路径,记得上一行加个反斜杠 \ 

android虚拟机 docker Android虚拟机框架源码_android_07

6、 修改apache-tomcat-8.5.51/webapps/source/WEB-INF目录下的 web.xml

(1)把CONFIGURATION里的值改为自己的OpenGrok目录

<param-value>/home/he/OpenGrok/opengrok-0.12.1.6/etc/configuration.xml</param-value>

android虚拟机 docker Android虚拟机框架源码_xml_08

7、进入/opengrok-0.12.1.6/bin目录下,执行./OpenGrok deploy(只需执行一次即可)

8、建立索引
如果你已经在OpenGrok里修改过源码路径,在/opengrok-0.12.1.6/bin目录下,直接执行 ./OpenGrok index

否则,执行

./OpenGrok index   /home/he/AndroidSource/

后面就是下载源码的地址,修改自己相应的即可,执行完毕后,即可用OpenGrok查看,搜索代码了。

支持多种搜索方式,也可以点击项目去查看相应的代码。

android虚拟机 docker Android虚拟机框架源码_android虚拟机 docker_09

android虚拟机 docker Android虚拟机框架源码_xml_10

android虚拟机 docker Android虚拟机框架源码_tomcat_11