本文主要是介绍AOSP源码(一)--准备工作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
Android AOSP 编译源码需要在 Linux 环境下进行,很多同学的系统不是Ubuntu,但是可以在Windows和Mac上使用VirtualBox 来安装 Ubuntu,这篇文章会讲解Windows10环境下的安装过程,Mac环境也是大同小异,如果有需要后续会出一篇关于Mac的安装教程。另外Windows 10下也可以在Microsoft Store中下载Ubuntu软件,可以去尝试下。
准备工作
设备要求
电脑配置尽量高一点,我用的mac+NAS还有一台台式(i7+1T固态+32G内存)
虚拟机配置:
CPU:最好保持在16核心以上
内存:16G及以上
硬盘:读者只需要编译android 7.0以下系统保证有200G以上的硬盘空间即可,而Android 7.0以上则需要350G以上的硬盘空间。机械硬盘也OK,编译的瓶颈不在IO
(PS:这是苛刻的要求,非必须,自行选择即可)
软件要求
第一部分
安装Ubuntu系统需要准备两个文件:
1、VMware Workstantion
下载地址:
https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
这个是官网VM16版本,有同学需要VM15或者破解版的,可以使用下面的链接(阿里云盘)
https://www.aliyundrive.com/s/zE1zbwQyr8F 提取码: 60co
2、Ubuntu系统:
在官网里有说明(https://source.android.google.cn/setup/build/initializing)
第二部分
1、JDK,做android开发的同学肯定会配置这个的,如果不会配置这个的同学,先去学习基础。
2、安装所需要的环境软件,官方直接提供了在线安装命令:
## Ubuntu 20.0.4版本的安装方式sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig
3、更改Ubuntu的镜像源,换为国内的源
国内有很多Ubuntu的镜像源,包括阿里的、网易的,还有很多教育网的源,比如:清华源、中科大源。
我们这里以中科大的源为例讲解如何修改Ubuntu 20.04
里面默认的源。
编辑/etc/apt/sources.list
文件, 在文件最前面添加以下条目(操作前请做好相应备份):
## 中科大源deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
然后执行命令:
sudo apt-get update
sudo apt-get upgrade
其他几份国内源如下:
阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
163源
deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
清华源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
5、安装repo
mkdir ~/binPATH=~/bin:$PATH## 下载repo
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo## 并且修改它的权限
chmod a+x ~/bin/repo
6、检查repo安装是否完成
repo versio#只要出现类似以下的报告即可
<repo not installed>
repo launcher version 2.15
(from /usr/bin/repo)
#
初始化repo客户端
1、安装 Repo 启动器后,设置您的客户端以访问 Android 源代码库;创建一个空目录来存放您的工作文件。为其指定一个您喜欢的任意名称:
mkdir yourworkNamecd yourworkName
2、使用您的真实姓名和电子邮件地址配置 Git。如需使用 Gerrit 代码审核工具,您需要一个与已注册的 Google 帐号相关联的电子邮件地址。 确保这是您可以用来接收邮件的有效地址。您在此处提供的姓名将显示在您提交的代码的提供方信息中。
git config --global user.name Your Name
git config --global user.email you@example.com
3、初始化仓库
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest
如果需要某个特定的 Android 版本(列表):
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-6.0.1_r81
出现这样的画面即成功:
如果提示无法连接到 gerrit.googlesource.com
这是因为repo的运行过程中会尝试访问官方的git源更新自己,如果想使用tuna的镜像源进行更新,可以将如下内容复制到你的~/.bashrc
里,最后重启终端即可。
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
4、同步源码树(以后只需执行这条命令来同步)
repo sync
由于首次同步需要下载约 95GB 数据,过程中任何网络故障都可能造成同步失败,我们强烈建议您使用初始化包进行初始化。
耐心等待吧。
下载完成以后会看到:
安装源码即下载完成。
下一篇文章即会详细讲解如何编译源码。
这篇关于AOSP源码(一)--准备工作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!