由于Android源码是用repo工具来管理的,因此我们首先要搞明白repo是个什么东西。
repo简介
repo是一种代码管理工具,它是由一系列的Python脚本组成,封装了一系列的Git命令,用来统一管理多个Git仓库。
因为Android源码引用了很多开源项目,每一个子项目都是一个Git仓库,每个Git仓库都有很多分支版本,为了方便统一管理各个子项目的Git仓库,需要一个上层工具批量进行处理,因此repo诞生。
repo也会建立一个Git仓库,用来记录当前Android版本下各个子项目的Git仓库分别处于哪一个分支,这个仓库通常叫做:manifests仓库
安装repo
原路径我就不说了已经被和谐了,不翻墙是不行的,告诉大家一个国内的镜像地址:清华大学开源软件镜像站
$ git clone https://aosp.tuna.tsinghua.edu.cn/android/git-repo.git/
你会得到一个git-repo文件夹,进入文件夹修改repo文件
$ sudo gedit git-repo/repo
REPO_URL = 'https://gerrit.googlesource.com/git-repo'
改为
REPO_URL = 'https://aosp.tuna.tsinghua.edu.cn/android/git-repo'
也可以不用修改 在init时传入这个地址也可以
下面就是本文的重点,下载源码
1,首先创建个放入源码的文件夹android_source
$ mkdir android_source
$ cd android_source
2,重点:初始化仓库
$ repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest
也可以指定某个特定的Android版本
$ repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-4.0.1_r1
注:repo的位置是在你安装的git-repo/repo
这时在android_source文件夹里多出了一个叫.repo的隐藏文件
3,重点:同步源码
$ repo sync
给大家介绍一个快捷的方法,不用下载安装repo
实际就是用清华大学开源软件镜像站里的aosp-latest.tar 这个包里已经带着repo工具了,也初始化过了(有.repo隐藏文件了)
wget https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 下载初始化包
tar xf aosp-latest.tar
cd AOSP # 解压得到的 AOSP 工程目录
# 这时 ls 的话什么也看不到,因为只有一个隐藏的 .repo 目录
repo sync # 正常同步一遍即可得到完整目录
# 或 repo sync -l 仅checkout代码
注:代码片段直接引用的清华大学开源软件镜像站里的代码
查看Android源码版本
编译的时候在终端中一开始就会打印出来:
PLATFORM_VERSION:2.3.1
直接去make文件中去看:
build\core\version_defaults.mk //搜索该文件中的 PLATFORM_VERSION值
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/82053.html