百度经验,参考: https://jingyan.baidu.com/article/597a064325b92c312b5243a4.html
准备材料:
1. cygwin: 具体有如何安装,和需要哪些操作参考百度经验,
a. 如果出现cynwin的下载站点为空的情况,请自己到 https://cygwin.com/mirrors.html 这个网站选择一个可以访问的链接下载,我选择的是香港的源: mirror-hk.koddos.net
b. 需要以下库:git、git-gui、gitk、curl、libssh-devel、libssh2_1、openssh、python2
2. Git账号:用户名和电子邮件需要设置好
a. 用户名:git config --global user.name YourName
b. 电子邮件: git config --global user.email YourEmail
下载AOSP镜像
参考中科大(作者使用的源): https://lug.ustc.edu.cn/wiki/mirrors/help/aosp ,还有一个国内镜像清华大学的: https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/ ,任选一个网速好的下载。
下载AOSP:http://mirrors.ustc.edu.cn/aosp-monthly (注意:如果使用迅雷下载的文件就会变成44GB,而使用浏览器下载只有28GB,具体原因就不知道了)
对比MD5
下载好(非迅雷下载)之后进行MD5校验,Windows下在命令行执行:
certutil -hashfile “AOSP文件目录” MD5
成功之后会显示MD5值,对比AOSP下载的MD5确保文件没有被篡改。
将下载好的AOSP镜像解压到一个目录,建议磁盘至少100GB的空闲空间
同步代码
主要三步,大约需要70GB的空间
1. 修改 .repo\manifests.git\config 文件中的 url = https://android.googlesource.com/platform/manifest 为
url = git://mirrors.ustc.edu.cn/aosp/platform/manifest
2. 初始化仓库(指定到 android-9.0.0_r3 ):repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-9.0.0_r3
可能的问题:出现fatal: bad revision ‘HEAD’错误,只需要删除 .repo\manifests 这个目录再次执行指令即可,下图画叉的目录。
3. 同步源码库(需要确保 repo 文件在环境变量中可以找到):repo sync
可能的问题:
1. 因为网络可能出现种种问题,每次中断了同步不要怕,再执行一次:repo sync
2. 出现error: unable to create file tests/P_str_escape/str\escape.rs的解决办法:
https://blog.csdn.net/u013553529/article/details/50616725
3. 本文作者始终没有完全消除所有错误,但是源码已经全部同步完毕,下图是最后一次错误:
Android源码同步成功截图: