AAOS 12 编译踩坑记录

领导让研究一下AOSP,相关车机系统,所以有了下面这篇文章

水平比较菜,如果文章哪里有错误的地方,还希望大佬们批评指正!

接下来开始正题

一、选择安卓12版本的原因

选择安卓12的版本的原因如下:除华为系(鸿蒙)、小米等造车新势力外,其他车机系统版本并没有那么新,构建AAOS系统可以尝试fuzz相关协议栈的漏洞,这个坑慢慢填

首先,编译的环境为:

Vmware虚拟机,Ubuntu 22.04 + CPU 16核32线程 + 内存64G(需要大一些防止编译错误)

二、教程开始

更新换源操作就不说了,需要安装一些包

sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev libc6-dev-i386 x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig openjdk-17-jdk

安装repo

mkdir ~/bin
modify bashrc(zshrc): export PATH=~/bin:$PATH
source ~/.bashrc
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

由于在国内,一些网络环境的原因,我们在配置的时候,需要加一些镜像地址

repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-12.1.0_r26 --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo

然后我们进行同步

repo sync -j2

如果中途因为网络原因失败,多尝试几次,等待代码完全拉取后,进行编译

source build/envsetup.sh
lunch
里面选择 sdk_car_x86_64-userdebug
make -j30

编译如果没有报错,完成后,可以看到对应目录下存在各种img文件

遇到了emulator无法找到,重新执行

source build/envsetup.sh
lunch sdk_car_x86_64-userdebug
emulator

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注