写点什么

是时候下载 Android11 系统源码和内核源码了~

用户头像
刘望舒
关注
发布于: 2021 年 03 月 28 日
是时候下载Android11系统源码和内核源码了~

本文首发于微信公众号「刘望舒」


这是 BATcoder 的第四篇,BATcoder 是 Android 进阶三部曲的番外篇,会对 Android 进阶三部曲的内容进行拓展和升级,会以视频的形式分享给大家。至于为啥叫 BATcoder,这是因为我希望大家看了我的技术视频能进入自己中意的大厂。


视频版本

更多细节和内容见视频:


B 站地址: https://www.bilibili.com/video/BV19f4y1r7E6


个人博客地址: http://liuwangshu.cn/batcoder/aosp/2-download-aosp.html


1.关于 AOSP

AOSP(Android Open Source Project)是 Google 开放的 Android 开源项目,中文官网为:https://source.android.google.cn/。 AOSP 通俗来讲就是一个 Android 系统源码项目,通过它可以定制 Android 操作系统,国内手机厂商都是在此基础上开发的定制系统。因为墙的缘故,如果无法连接谷歌服务器获取 AOSP 源码,可以从 清华大学镜像站或者 中科大镜像。本篇文章以清华大学镜像站为例。


2. 下载 repo 工具

Android 源码包含数百个 git 库,光是下载这么多的 git 库就是一项繁重的任务,所以 Google 开发了 repo,它是用于管理 Android 版本库的一个工具,使用了 Python 对 git 进行了一定的封装,简化了对多个 Git 版本库的管理。 安装 Git,在 Ubuntu 输入如下命令:


sudo apt-get install git
复制代码

可能会报如下的错误: 


这个问题是有另外一个程序正在运行,导致资源被锁不可用,输入如下命令进行解决:


sudo rm /var/cache/apt/archives/locksudo rm /var/lib/dpkg/lock
复制代码

接下来创建 bin,并加入到 PATH 中。


mkdir ~/binPATH=~/bin:$PATH
复制代码

安装 curl 库:


sudo apt-get install curl
复制代码

下载 repo 并设置权限:


curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repochmod a+x ~/bin/repo
复制代码

最后安装 python,repo 初始化时会用到:


sudo apt-get install python
复制代码

重启虚拟机后,开始下载源码。


3. 下载源码

建立工作目录 :


mkdir aospcd aosp
复制代码

repo 的运行过程中会尝试访问官方的 git 源更新自己,如果想使用 tuna 的镜像源进行更新,可以将如下内容复制到你的~/.bashrc 里:


export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
复制代码

设置身份,添加自己的邮箱和姓名:


git config --global user.email "piratemorgen@gmail.com"git config --global user.name "piratemorgen"
复制代码

初始化仓库(不指定版本,默认下载最近的代码)


repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest
复制代码

初始化并指定版本:


repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-11.0.0_r1
复制代码

同步源码:


repo sync
复制代码

源码下载完成后,看到下面的信息可以说明下载成功。9.0 整个源码的大小为 36.5G,11.0 源码的大小为 59.1G



如果你觉得很麻烦,也可以直接去我分享的一个百度网盘去下载 AOSP 的源码,版本的范围从 1.6 到 11.0。里面的源码是精简版本的,不能够进行编译。 链接:https://pan.baidu.com/s/1cDHDwVNhmwZVMbC0Rivkbw 提取码:bza8


4. 下载内核源码

AOSP 源码中并不包括内核源码,需要单独下载,内核源码有很多版本,比如 common 是通用的 Linux 内核,msm 是用于使用高通 MSM 芯片的 Android 设备,goldfish 是用于 Android 模拟器的内核源码,这里以 goldfish 为例。


和下载 AOSP 源码一样,我们需要先建立工作目录 :


mkdir kernelcd kernel
复制代码

使用清华的镜像:


git clone https://aosp.tuna.tsinghua.edu.cn/kernel/goldfish.git
复制代码



这时 kernel 目录中会生成一个 goldfish 文件夹,进入 goldfish 目录并使用 git 命令。


cd goldfishgit branch -a
复制代码

这时会列出有哪些内核的版本分支可以下载。



这里选择下载 goldfish 3.4 版本。


git checkout remotes/origin/android-goldfish-3.4
复制代码

更多细节和内容见视频:


B 站地址: https://www.bilibili.com/video/BV19f4y1r7E6


个人博客地址: http://liuwangshu.cn/batcoder/aosp/2-download-aosp.html


作者简介:刘望舒,腾讯云最具价值专家,著有畅销书《Android 进阶之光》《Android 进阶解密》《Android 进阶指北》,蝉联四届电子工业出版社年度优秀作者,前华为面试官,现大厂技术负责人,谷歌开发者社区特邀讲师。


发布于: 2021 年 03 月 28 日阅读数: 32
用户头像

刘望舒

关注

腾讯云TVP,公众号「刘望舒」主理人 2018.05.02 加入

腾讯云TVP,著有畅销书《Android进阶之光》《Android进阶解密》《Android进阶指北》,蝉联四届电子工业出版社年度优秀作者,前华为面试官,现大厂技术负责人,谷歌开发者社区特邀讲师。

评论

发布
暂无评论
是时候下载Android11系统源码和内核源码了~