AOSP 编译并导入Android Studio
1 构建编译环境
1.1 硬件要求
ROM 最小有100G空余
RAM 最小8G
1.2 操作系统要求
在AOSP开源中,主分支使用Ubuntu长期版本开发和测试的,因此也建议你使用Ubuntu进行编译
64位操作系统只能编译2.3.x以上的版本,2.3.x以下的版本需要32位操作系统。
以下列出Andorid版本与Ubuntu版本之间的对应关系
Android版本 | 编译要求的Ubuntu最低版本 |
---|---|
Android 6.0至AOSP master | Ubuntu 14.04 |
Android 2.3.x至Android 5.x | Ubuntu 12.04 |
Android 1.5至Android 2.2.x | Ubuntu 10.04 |
1.3 JDK要求
Android版本与JDK版本同样也有一个对应关系,如下表所示:
Android版本 | 编译要求的JDK版本 |
---|---|
Android7.0至AOSP master | OpenJDK 8 |
Android 5.x至Android 6.0 | OpenJDK 7 |
Android 2.3.x至Android 4.4.x | JavaJDK 6 |
Android 1.5至Android 2.2.x | JavaJDK 5 |
这里我们编译Andorid 8,故选择安装OpenJDK 8。
查看JDK的版本可以通过执行
java -version
添加ppa:
sudo add-apt-repository ppa:openjdk-r/ppa
更新源:
sudo apt-get update
安装openJdk:
sudo apt-get install openjdk-8-jdk
如果编译其他的Android版本需要用到不同的JDK版本,可以使用以下命令来进行JDK版本的切换:
sudo update-alternative --config java
sudo update-alternative --config javac
1.4 其他要求
Ubuntu系统还需要添加依赖,使用以下命令安装:
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev libgl1-mesa-dev libxml2-utils xsltproc unzip
这里这些依赖仅针对Ubuntu14.04,其他版本的依赖包可以在官方指导文档中查看。
2 下载源码
由于众所周知的原因,我们无法访问AOSP官方网站,不过这不影响我们获取代码,清华大学同步了官方源码,并开放下载。
在下载源码之前,确保本机已经安装并配置好git和repo。
下载源码有两种方式:
1.使用每月更新的初始化包
2.传统初始化方法
2.1 使用每月更新的初始化包
2.1.1 下载aosp-latest
wget -c https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar
2.1.2 解压到工程目录
tar xf aosp-latest.tar
2.1.3 同步代码
建议每天同步一次代码。
repo sync