AOSP是什么?
全称是Android Open Source Project,它是整个Android源码的开源项目。
官方地址是:https://android.googlesource.com
如果你下载过源代码,那么对下面的这个指令不会陌生
$ repo init -u https://android.googlesource.com/platform/manifest
这是初始化AOSP的分支,默认情况下为Master。
上面指令里边的地址就是AOSP的原始地址,由于Google被墙的缘故,即使连接上VPN速度也不是很快。这时候我们优先使用国内的镜像源,具体镜像源可以参考我前边的文章Android源代码编译笔记(支持5.x及以上版本)。
平常情况下,我们初始化之后就开始sync
,然后就是编译,刷机或运行模拟器。
虽然我们也下载编译且运行了AOSP,但是对它的组成还是不清楚。所以,我就边研究边记笔记,从代码上了解AOSP。
AOSP的组成
只写文字太单调了,配一张Android官网的经典Android系统框架图:
由于Android的系统版本众多,这里以5.1.1版本(分支android-5.1.1_r15
,即for Nexus Player)为例来分析一下AOSP的组成(方法对于其它版本是一样的)。
那么它对应的初始化地址就是
https://android.googlesource.com/platform/manifest -b android-5.1.1_r15
这里边仓库所在的服务器是https://android.googlesource.com/
,而platform/manifest
是仓库的路径,而android-5.1.1_r15
则是这个仓库的一个分支。
你如果直接访问上面的路径,会发现它其实是一个git仓库,而clone正是使用这个地址来进行,即
git clone https://android.googlesource.com/platform/manifest
将其clone下来并且切换到android-5.1.1_r15
分支后(默认是Master分支)你会发现该仓库只有一个文件