Android Automotive 14(1) 编译与模拟器运行

banner.png

1. 前言

Android Automotive 14 随同AOSP发布已经有一段时间,从Android Automotive OS Releases看,有很多新功能,从这篇文章开始,记录一下,阅读源码和折腾的一些过程,学习一些车机开发的内容。

2.Android Automotive 14 源码下载

官网有发布的branch名称,Codenames, tags, and build numbers
branch
这里我们直接下载版本:android-14.0.0_r20 , 从描述看安全补丁已经更新到2024-01-05,此时应该算是最新版本了。
确定好分支后,我们就要从AOSP仓库下载源码了;
国内建议直接使用清华大学开源软件镜像站,下载速度比较快。
tuna.png

使用每月更新的初始化包,repo init 切换到对应android-14.0.0_r20的branch即可。

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

其中sdk_car_x86_64-userdebug 就代表是Android Automotive车机版本,编译出来的img可以直接运行模拟器展示车机。
本质上AOSP就一套代码,然后通过lunch不同的project 区分了carphonetablet

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.遇到错误处理

编译过程中主要遇到了一个ninjia failed with: exit status 137错误记录一下。
error.png

一般报这种错误的,感觉还是和内存大小有关,显示编译途中退出,返回了status 137;代码一行未改,本身没有啥错误;
网上有很多答案是改JavacHeapSize,但是对于我这个Ubuntu 虚拟机修改没有用;
我这边开发环境是windows11 + Ubuntu虚拟机;硬件总内存是32G,分给Ubuntu虚拟机是22G,编译多次还是不行。
后来尝试不断加大内存,加大到24G,编译就通过了,也没有报status 137错误了。

5.模拟器运行

编译完源码,在目录下输入emulator,就可以启动模拟,会自动加载当前编译的project;
下面就是Android Automotive 14的界面截图:
screen1
screen2
screen3

6.总结

源码编译完成,代表hello world的环境搭建书写完毕,剩下的AAOS14等待着持续探索。
欢迎关注我的微信公众号阿坤iKun,我是练习时长两年半的阿坤iKun,下期再见!

在这里插入图片描述

  • 18
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Android Automotive 12L 是 Android Automotive 的最新版本,它基于 Android 12 平台开发,提供了更多的功能和优化。以下是在 Linux 系统上编译 Android Automotive 12L 的具体步骤: 1. 安装必要的依赖项 在 Linux 系统上编译 Android Automotive 12L 之前,需要安装以下依赖项: - JDK 8 或以上版本 - Python 2.7 - Git - GNU Make - ccache - curl - zlib1g-dev、libssl-dev 和 libncurses5-dev 等必要的开发库 您可以根据自己的 Linux 发行版和版本进行相应的安装。 2. 下载 Android Automotive 12L 源代码 打开终端并进入您要保存源代码的目录,运行以下命令: ``` $ repo init -u https://android.googlesource.com/platform/manifest -b refs/tags/android-auto-12.0.0_r1 $ repo sync -j8 ``` 其中 -j8 表示使用 8 个线程进行代码下载,可以根据自己的计算机性能进行调整。 3. 配置编译环境 进入源代码目录,并运行以下命令: ``` $ source build/envsetup.sh $ lunch aosp_car_x86_64-eng ``` 其中,aosp_car_x86_64-eng 是要编译的设备名称,可以根据自己的需求进行修改。 4. 开始编译 运行以下命令开始编译: ``` $ make -j8 ``` 其中,-j8 表示使用 8 个线程进行编译,可以根据计算机性能进行调整。 编译过程可能需要一段时间,具体时间取决于您的计算机性能。如果编译成功,就会在 out/target/product/{设备名称}/ 目录下生成编译完成的系统镜像文件。 5. 刷入系统镜像 将编译完成的系统镜像文件刷入目标设备中,并启动设备。 注意:编译系统镜像需要一定的编译知识和经验,如果您没有相关经验,建议先在虚拟机或者模拟器中进行尝试。同时,编译系统可能会导致设备数据丢失,请务必备份数据并谨慎操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值