好了 google爸爸给我们带来了很大的方便,话不多说,直接去
https://mp.weixin.qq.com/s/DFXsHBOg0Fw2SU1h6hK4Lw
我们非常高兴的为各位开发者们介绍一个 Android 开源项目 (AOSP) 的代码搜索工具:
https://cs.android.com
。。。。。。。。。2019.12.18.。。。。。。。。分割线。。。。。。。。
吐槽网上各种乱七八糟的指导,试了半天也未能成功,还要装ubuntu 各种恶心。下面我亲测了一种方法ok的,适用于windows同学。
为了进一步的深入Android源码的学习,我们需要去下载android源码到我们的AS里面编译。
当然如果你不想下载下来,那么也可以在线看
https://www.androidos.net.cn/sourcecode
准备环境
安装 git
安装 Python
自备梯子
硬盘剩余容量最好大于 100G
预计需要8个小时
- 安装 git
官网:https://git-scm.com/downloads/
图形化工具:https://tortoisegit.org/
什么?不会安装 git,那还看什么源码!自行百度!
- 安装 Python
官网:https://www.python.org/downloads/
安装参考:http://jingyan.baidu.com/article/c910274be14d64cd361d2dd8.html
- 自备梯子
没有梯子?那就使用清华源:https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
下载源码
- 打开 Git Bash,用 git 克隆源代码仓库
git clone https://android.googlesource.com/platform/manifest.git
//没有梯子使用清华源
git clone https://aosp.tuna.tsinghua.edu.cn/platform/manifest.git
这时 D:/android_source_code/ 目录下会出现一个 manifest 目录,进入此目录,里面除了 git 的配置目录外,clone 下来了一个 default.xml 文件。
- 切换到想要的源码版本分支
去这里 https://source.android.com/source/build-numbers.html#source-code-tags-and-builds
找到想要的版本分支,并复制。
(里面可能没有最新的版本,比如我下载的时候就没有9.0版本,这时候可以通过下面的命令行去搜索最新的版本)
cd manifest
//没有梯子,使用 git branch -a 查看所有分支,找到想要的分支
git branch -a
git checkout android-6.0.1_r79 //这里以 6.0 最后一个版本下载
- 使用 Python 执行脚本进行源代码下载
将下面的代码复制,创建文件 python_download.py,并保存。
import xml.dom.minidom
import os
from subprocess import call
# 1. 修改为源码要保存的路径
rootdir = "F:/androidSource/Android_9.0"
# 2. 设置 git 安装的路径
git = "D:/Program Files/Git/cmd/git.exe"
# 3. 修改为第一步中 manifest 中 default.xml 保存的路径
dom = xml.dom.minidom.parse("F:/androidSource/manifest/default.xml")
root = dom.documentElement
#prefix = git + " clone https://android.googlesource.com/"
# 4. 没有梯子使用清华源下载
prefix = git + " clone https://aosp.tuna.tsinghua.edu.cn/"
suffix = ".git"
if not os.path.exists(rootdir):
os.mkdir(rootdir)
for node in root.getElementsByTagName("project"):
os.chdir(rootdir)
d = node.getAttribute("path")
last = d.rfind("/")
if last != -1:
d = rootdir + "/" + d[:last]
if not os.path.exists(d):
os.makedirs(d)
os.chdir(d)
cmd = prefix + node.getAttribute("name") + suffix
call(cmd)
- 执行 Python 脚本开始下载
打开 Python 客户端(win10的同学直接在屏幕左下角的开始按钮出搜python)
打开上一步保存的 python_download.py 脚本文件
点击 Run->Run Module 来运行脚本,或直接按F5运行。
到这里就基本ojbk了,默默的等待下载吧,我从早上10点下到晚上7点下班都没好,下班前也就没关电脑了
温馨提示,下载过程中一直会有一个黑色的cmd窗口不断的弹出(下载进程),建议利用下班时间进行下载,以免影响工作
下载下来以后需要通过AS去打开,由于编译过程比较复杂,这里我们推荐
https://github.com/difcareer/AndroidSourceReader
给我们提供了各个版本导入as所需的编译产物。