Android Automotive 15/16车载模拟器如何调多屏多音区功能?

张开发
2026/4/8 17:14:04 15 分钟阅读

分享文章

Android Automotive 15/16车载模拟器如何调多屏多音区功能?
背景车载模拟器的迫切性做车载系统开发其实硬件要求和门槛会远远比手机系统开发要大特别是对于一些自由开发者想深入车载开发的市场买不到车机相关开发板而且车载主机还涉及多个区的主机等车载实体设备也只能用手机来模拟但是手机毕竟在汽车方面的一些专属特性还是无法满足所以车载模拟器成为最大的需求。目前车载模拟器无多屏多音区痛点前面马哥已经给大家分享过如何从0下载及编译aosp 16版本的车载模拟器。大家也成功运行起来了相关的aosp16的车载Automotive模拟器但是有的同学也提出一些新的迫切需求主要有以下两个部分1、想直接在车载模拟器环境进程车载多屏的开发问马哥有啥办法可以让车载模拟器也搞出类似手机模拟器的多屏情况。2、很多同学在学习马哥的车载Audio系统实战开发课程时候很多同学也希望可以在车载模拟器上调试多音区车载路由的功能。https://www.bilibili.com/video/BV13bXpB7Em4/基于上面学员们对车载模拟器的迫切多屏多音区的需求这里进行马哥也进行系统中源码的调研搜索实践等终于给大家找到了解决办法。模拟器支持多屏多音去调研过程分析时候切入点当时在做audio多音区的开发研究所以在车载模拟器的device下面寻找对应的car_audio_configuration.xml然后在如下目录找到了。在这个device目录下查找这个car_audio_configuration.xml时候也发现了有另一个目录也有~/disk_2T/aosp16/device/generic$find-namecar_audio_configuration.xml ./car/emulator/audio/car_audio_configuration.xml ./car/emulator/multi-display/car_audio_configuration.xml这里就定位到了有个multi-display/car_audio_configuration.xml目录名字就可以看出这里是多屏的一个模拟器目标所以顺着这个切入点就开始尝试编译出了Android Automotive 多屏的车载模拟器。下面给大家展示车载Android Automotive 多屏多音区的模拟器编译详细过程。下载及编译编译环境Ubuntu20.04aosp版本为android-16.0.0_r2电脑内存建议大于32Grepo下载aosp16源码其实无论是手机还是车机都是使用一套的aosp源码进行开发所以这块repo部分和手机开发时候没有任何差别。具体repo命令如下repo init-uhttps://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest-bandroid-16.0.0_r2 reposync如果是第一次repo清华大学镜像情况会出现repo到google地址等情况建议大家窗口下面文章进行修改相关的repo进行解决。aosp13/14源码环境搭建 https://blog.csdn.net/learnframework/article/details/121345533repo过程偶尔会网络错误没关系哈大家反复repo sync直到成功既可以。编译车载模拟器编译之前请先下载相关依赖库sudoapt-getinstallbcbison build-essential ccachecurlflex g-multilib gcc-multilibgitgit-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 pngcrushrsyncschedtool squashfs-tools xsltproczipzlib1g-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.debwget 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启动编译sourcebuild/envsetup.sh lunch sdk_car_md_x86_64-bp2a-eng#这个最重要的目标makelunch的目标和以前目标sdk_car_x86_64多了字符md也就是mutidisplay缩写。运行结果emualtor上图就可以看出车载多屏的出现有驾驶舱副驾驶舱乘客舱等。注意车载模拟器因为有个特性和手机模拟器不一样执行emualtor命令车载模拟器会有热启动就是可以秒启动上次模拟器而不需要每次开机重启节省时间但是这个热启动车载模拟器问题比较多经常造成编译代码后不更新或者容易模拟器整体冻屏等情况所以建议大家每次启动使用恢复出厂设置命令虽然麻烦一点但是能保证每次从头启动。恢复出厂设置方式启动模拟器emulator -wpie-data原文地址更多车载多屏多音区干货资料获取请点击如下链接联系马哥https://mp.weixin.qq.com/s/ed3NPxMwWkEu9_qjhn7m2A

更多文章