目录
- 下载安装Git
- 下载安装python3
- 开始下载
- 1. 下载manifest.git
- 2. checkout 分支
- 3. 使用 Python 执行脚本进行源代码下载
下载安装Git
主要是clone manifest.git。不难,具体参考我的博客:Git下载安装教程
下载安装python3
最终的下载是由python文件执行的,所以需要安装python。不难,注意勾选添加环境变量,后面要用到。具体参考我的博客:Python3下载安装(Windows)
开始下载
1. 下载manifest.git
新建一个文件夹xx,把文件clone到这个文件夹xx里面。
清华源,不需要梯子。
打开Git Bash执行:
git clone https://aosp.tuna.tsinghua.edu/platform/manifest.git
2. checkout 分支
进入刚下载的manifest文件夹中,执行git checkout 分支号
(分支号:切换到刚下载的manifest目录下,Git Bash使用git branch -a
显示所有分支)
切换成功后会显示:You are in 'detached HEAD' state. You can look around, make experimental......
3. 使用 Python 执行脚本进行源代码下载
- 在xx文件夹里面,创建文件 python_download.py,将下面代码复制进去 ,记得修改代码中路径。注意:
- 修改下面文件中的内容,从windows10的文件目录,把源码要放的路径、git.exe文件路径、default.xml文件路径,复制出来,需要把
\
改为/
。 - 填入的目录的文件夹,必须提前手动建好,否则会报错说找不到目录。
import xml.dom.minidom
import os
from subprocess import call
# 1. 修改为源码要保存的路径
rootdir = "G:/android_source"
# 2. 设置 git 安装的路径
git = "C:/Program Files (x86)/Git/bin/git.exe"
# 3. 修改为第一步中 manifest 中 default.xml 保存的路径
dom = xml.dom.minidom.parse("G:/android_source/manifest/default.xml")
root = dom.documentElement
#prefix = git + " clone https://android.googlesource/"
# 4. 没有梯子使用清华源下载
prefix = git + " clone https://aosp.tuna.tsinghua.edu/"
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)
- 打开cmd,进入python_download.py文件所在目录,执行
python python_download.py
,就开始下载了。我下载的是Android 4.0.1 一共22.4G,从下午3天下载到晚上9点,目录如下:
- 下载完成后,用intelij IDEA打开目录:
源码\frameworks\base\core\java\android\os
,就可以看到下图熟悉的Handler.java了。