背景:
现在android framework开发做车载相关的同学也越来越多,各个车载公司也大部分都开始使用AAOS来实现自己的车载系统。前面文章主要都是针对aosp来进行编译的手机相关的模拟器,今天给大家介绍一下在如何从0下载及编译aosp 16版本的车载模拟器。

看本篇文章建议可以先看如下两篇参考文章,建议已经搭建过其他版本aosp的代码编译:
aosp13/14源码环境搭建: https://blog.youkuaiyun.com/learnframework/article/details/121345533
aosp15上选择目标与aosp14版本的差异分析:https://mp.weixin.qq.com/s/9xkNgKKxBWlM_qtpLmRL5g
下载及编译
编译环境:
Ubuntu20.04
aosp版本为android-16.0.0_r2
电脑内存:建议大于32G
repo下载aosp16源码
其实无论是手机还是车机都是使用一套的aosp源码进行开发,所以这块repo部分和手机开发时候没有任何差别。
具体repo命令如下:
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-16.0.0_r2
repo sync
如果是第一次repo清华大学镜像情况,会出现repo到google地址等情况,建议大家窗口下面文章进行修改相关的repo进行解决。
aosp13/14源码环境搭建: https://blog.youkuaiyun.com/learnframework/article/details/121345533
repo过程偶尔会网络错误没关系哈,大家反复repo sync直到成功既可以。
编译车载模拟器
编译之前请先下载相关依赖库:
sudo apt-get install bc bison build-essential ccache curl flex g++-multilib gcc-multilib git git-lfs gnupg gperf imagemagick protobuf-compiler python3-protobuf lib32readline-dev lib32z1-dev libdw-dev libelf-dev lz4 libsdl1.2-dev libssl-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev
还需要安装一个libncurses5这个库,它稍微特殊一点,和ubuntu版本有关系:
Ubuntu 版本>= 23.10 (mantic)则需要按如下方式进行安装:
wget https://archive.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2_amd64.deb && sudo dpkg -i libtinfo5_6.3-2_amd64.deb && rm -f libtinfo5_6.3-2_amd64.deb
wget https://archive.ubuntu.com/ubuntu/pool/universe/n/ncurses/libncurses5_6.3-2_amd64.deb && sudo dpkg -i libncurses5_6.3-2_amd64.deb && rm -f libncurses5_6.3-2_amd64.deb
如果 Ubuntu 低于23.10 (mantic), 直接使用sudo apt-get install 安装如下库既可以:
lib32ncurses5-dev libncurses5 libncurses5-dev
启动编译:
source build/envsetup.sh
lunch sdk_car_x86_64-bp2a-eng #这个最重要的目标
make
运行结果:
emualtor

AOSP16车载模拟器编译指南
422





