Android源码获取
配置
创建目录
$ mkdir android_13
$ cd android_13
配置代码源
方式一:Android
官方镜像(已配置科学上网环境)
$ wing -space add aosp https://android.googlesource.com/ platform/manifest.git
方式二:清华开源镜像
$ wing -space add aosp https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/ platform/manifest.git
查看配置
$ wing -space
[aosp]
host: https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/
manifest: project/manifest.git
获取代码
初始化
这里以获取分支
android-cts-13.0_r7
为例,如果不知道,可以先随便写一个,初始化完成后,到.wing/manifests
目录下通过git
命令查看分支。
$ wing init aosp android-cts-13.0_r7 default.xml
获取的.wing/manifes
目录为:
$ wing -tree 1
├── .git
├── GLOBAL-PREUPLOAD.cfg
└── default.xml
default.xml
即为各模块git
库的索引,如:
你可以根据需要进行删减,去除不需要的模块,节省同步时间。
<?xml version="1.0"?>
<manifest>
<remote name="aosp" fetch=".." review="https://android-review.googlesource.com/"/>
<default remote="aosp" sync-j="4" revision="refs/tags/android-cts-9.0_r20"/>
<project path="build/make" name="platform/build" groups="pdk">
<copyfile src="core/root.mk" dest="Makefile"/>
<linkfile src="CleanSpec.mk" dest="build/CleanSpec.mk"/>
<linkfile src="buildspec.mk.default" dest="build/buildspec.mk.default"/>
<linkfile src="core" dest="build/core"/>
<linkfile src="envsetup.sh" dest="build/envsetup.sh"/>
<linkfile src="target" dest="build/target"/>
<linkfile src="tools" dest="build/tools"/>
</project>
<project path="build/blueprint" name="platform/build/blueprint" groups="pdk,tradefed"/>
<project path="build/kati" name="platform/build/kati" groups="pdk,tradefed"/>
<project path="build/soong" name="platform/build/soong" groups="pdk,tradefed">
<linkfile src="root.bp" dest="Android.bp"/>
<linkfile src="bootstrap.bash" dest="bootstrap.bash"/>
</project>
<project path="art" name="platform/art" groups="pdk"/>
<project path="bionic" name="platform/bionic" groups="pdk"/>
<!-- ...... -->
</manifest>
同步代码
由于代码量比较大,中间可能出现同步失败,这个时候可以执行以下命令继续同步代码:
# 安全同步,同步失败不做处理,当前分支和索引不一致不同步
$ wing sync