1. 前言
Android Automotive 14 随同AOSP发布已经有一段时间,从Android Automotive OS Releases看,有很多新功能,从这篇文章开始,记录一下,阅读源码和折腾的一些过程,学习一些车机开发的内容。
2.Android Automotive 14 源码下载
官网有发布的branch名称,Codenames, tags, and build numbers
这里我们直接下载版本:
确定好分支后,我们就要从AOSP仓库下载源码了;
国内建议直接使用清华大学开源软件镜像站,下载速度比较快。
使用每月更新的初始化包,repo init 切换到对应
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-14.0.0_r20 repo sync
Android源码通常100G~200G之间,需要漫长的等待。
一般sync完成提示success,代码就算下载完成了。
3.编译
Android的源码要想得到img或者运行模拟器,还需要进行完整的编译。
关于配置Ubuntu编译源码环境,网上有很多,不再赘述,官网也有链接参考:搭建构建环境
环境搭建好后,在Intel平台上编译运行,一般选择X86_64
具体命令:
cd aosp source build/envsetup.sh lunch sdk_car_x86_64-userdebug make
其中
本质上AOSP就一套代码,然后通过lunch不同的project 区分了
Lunch menu .. Here are the common combinations: 1. aosp_arm-eng 2. aosp_arm64-eng ...... 76. sdk_car_arm-userdebug 77. sdk_car_arm64-userdebug 78. sdk_car_md_x86_64-userdebug 79. sdk_car_portrait_x86_64-userdebug 80. sdk_car_x86-userdebug 81. sdk_car_x86_64-userdebug 82. sdk_pc_x86_64-userdebug ......
4.遇到错误处理
编译过程中主要遇到了一个
一般报这种错误的,感觉还是和内存大小有关,显示编译途中退出,返回了status 137;代码一行未改,本身没有啥错误;
网上有很多答案是改JavacHeapSize,但是对于我这个Ubuntu 虚拟机修改没有用;
我这边开发环境是windows11 + Ubuntu虚拟机;硬件总内存是32G,分给Ubuntu虚拟机是22G,编译多次还是不行。
后来尝试不断加大内存,加大到24G,编译就通过了,也没有报status 137错误了。
5.模拟器运行
编译完源码,在目录下输入emulator,就可以启动模拟,会自动加载当前编译的project;
下面就是Android Automotive 14的界面截图:
6.总结
源码编译完成,代表
欢迎关注我的微信公众号