背景:

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

看本篇文章建议可以先看如下两篇参考文章,建议已经搭建过其他版本aosp的代码编译:

aosp13/14源码环境搭建: https://blog.csdn.net/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.csdn.net/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

在这里插入图片描述

更多推荐