Android源码编译环境搭建

1,066 阅读3分钟

Linux环境搭建

Android源码要在Linux环境下编译,如果没有Linux环境可以在Windows或macOs下使用虚拟机来搭建,以下介绍在Windows 10环境下通过vmware搭建Linux环境,并在Linux环境下下载AOSP源码。

安装虚拟机

vmware虚拟机的官方下载地址:www.vmware.com/
这里我们选择下载Workstation Player版本,该版本为个人免费版。

image.png

下载安装后运行,如图所示,点击创建新虚拟机就可以根据需求来创建一个虚拟机了。

image.png

下载安装Linux

Android的源码编译需要Linux的Ubuntu版本,因此我们需要一个Ubuntu的Linux镜像,可以通过Linux官网来下载:www.linux.org/pages/downl…

选择下载Ubuntu ,然后进入下载页面后点击Alternative downloads

image.png

然后向下找到:Other images and mirrors

image.png

里面会有各个国家的镜像地址,找到我们自己国家的,然后看到有很多镜像,随便下载一个镜像即可

image.png

这里以东软的镜像为例,点击http/https进入下载,选择一个下载版本,这里下载18.04.6

image.png

下载保存完毕后,进入虚拟机点击创建虚拟机,选择刚下好的ubuntu镜像文件,然后继续下一步,

image.png

个性化以及命名就根据习惯随便取就好然后继续下一步

image.png

由于编译Android源码所需的空间比较大,所以选择位置时尽量选择容量比较大的分区,建议200G以上。

在设置虚拟硬盘大小时,这里设置为200G

image.png

设置虚拟机内存和处理器时,可以通过进入自定义硬件来进行配置,建议内存是2GB,可以根据自己的电脑配置来决定,建议最少分配4GB。处理器的核数越大,编译速度也会越快,建议最少选择4核。设置如图所示

image.png

image.png 然后点击完成,就成功的创建了我们所需要的Ubuntu虚拟机了。

image.png

点击刚创建虚拟机设备启动,并等待虚拟机Install完成,就可以使用Ubuntu环境了。如图所示:

image.png

image.png

Android源码(AOSP)下载

AOSP介绍

AOSP是Android Open Source Project的缩写,译为"Android 开放源代码项目"。由于网络的限制,如果无法直接从Google服务器获取AOSP源码,可以从清华大学或中国科学技术大学镜像站下载。 以下以清华大学镜像站为例。
具体链接:mirrors.tuna.tsinghua.edu.cn/help/AOSP/

repo工具下载

Android源码包含数百个Git库,下载这么多Git库是一项繁重的任务,因此Android为了方便管理多个Git库而开发了repo工具,它是用Python写的调用Git的一个脚本,可以实现管理多个Git库。repo并非为了取代Git,而是为了让Android开发者更为有效的利用Git。

1.安装Git
在Ubuntu中输入命令:

sudo apt-get install git

2.创建bin,并加入PATH中

mkdir ~/bin
PATH=~/bin:$PATH

3.安装curl库

sudoapt-get install curl

4.下载repo工具并设置权限

curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

5.安装Python

sudo apt-get install python

以上步骤可根据自己的实际环境有所增减,执行完后,源码下载的准备工作就做完了。

源码下载

1.建立工作目录

mkdir myaosp
cd myaosp

2.git设置

git config --global user.email "自己的邮箱地址"   
git config --global user.name "自己取的名称"

3.初始化仓库

repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest

如果提示无法连接到 gerrit.googlesource.com,可进行如下操作:

curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo
chmod +x repo

以上步骤执行完后,由于repo的运行过程中会尝试访问官方的git源更新自己,如果想使用tuna的镜像源进行更新,需要将如下内容复制到你的~/.bashrc里

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

4.初始化特定Android版本 这里选择下载Android 11的源码

repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-11.0.0_r46

5.同步源码

repo sync

同步完成后,整个源码就下载完成了,如下图所示,整个源码大小为36.9G。 image.png

从Linux桌面进入下载好的AOSP路径,我们可以看到整个AOSP的目录结构:

image.png