mac M1芯片上编译车载aaos

一:mac上需要磁盘分区(支持大小写)

mac分区: 在 Mac 上的"磁盘工具"中将物理磁盘分区 - 官方 Apple 支持 (中国)

注意:盘符名字不能有空格否则编译aaos时报错

注意:盘符名字不能有空格否则编译aaos时报错

注意:盘符名字不能有空格否则编译aaos时报错

二:配置mac编译环境

mac电脑+pixel 4a(5g)+Xcode(13.1)(m1上模拟器目前运行有问题需要使用pixel 4a(5g)手机模拟车载)

xcode

xcode 历史版本:Xcode Releases | xcodereleases.com

本电脑使用的xcode版本13.1 sdk 12.0

GIT

git version 2.30.1 (Apple Git-130)(mac自带,也可以自己安装)

python

mac 自带的python版本Python 2.7.16需要安装python3.8 1

安装方法1

下载python

wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz

解压Python3:

tar xvf Python-3.7.1.tgz

编译与安装Python3:

./configure

sudo make install

安装方法2

直接 brew install python3

配置python3的环境变量

open ~/.bash_profile

输入配置环境

alias python="/usr/bin/python3"

export PATH=$PATH:/opt/local/bin

终端命令

source ~/.bash_profile

终端命名 查看最新版本

python -V

mac上切换python3

mac 修改python版本 mac自带python版本怎么更换_mob6454cc647bdb的技术博客_51CTO博客

repo

repo简介:Repo简介 - 掘金

repo中科大安装方法:

AOSP 镜像使用帮助 --- USTC Mirror Help 文档

每次重新打开终端都要执行以下命令可以执行repo命令否则命令不执行

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_251.jdk/Contents/Home

export JAVA_HOME=$JAVA_HOME

Homebrew

(暂时没使用,可以尝试安装Homebrew)

Mac必备神器Homebrew(mac上的软件管理工具)

Mac必备神器Homebrew - 知乎

需要安装软件homebrew:参考Mac安装Homebrew的正确姿势 - 简书

二:编译AAOS

参考官方编译步骤:使用 Pixel 手机作为开发平台 | Android 开源项目 | Android Open Source Project

2.1:同步分支的命令

repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-12.0.0_r3

repo sync

2.2:aosp 源码下载 (时间会比较久,本电脑耗时约 1h)

下载的时候有时候会某一个环节很久不动,只要不报错就可以一直等着让他自己下载,除

非报错。

cd 到自己的新建区分大小写的磁盘里,创建目录 AOSP12

repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-

12.0.0_r1

repo sync

2.3:添加手机驱动

Pixel 4a (5G)。下载 Pixel 4a (5G) 二进制文件,例如 Android 12 的供应商映像和 Qualcomm 驱动程序,build SP1A.210812.016.A1

下载两个驱动文件后放入AOSP12 文件夹

解压这两个驱动后分别得到两个sh文件,并执行

每执行一个sh后都需要在第8条下边添加上"I ACCEPT"

2.4:aosp编译

  1. source build/envsetup.sh (build目录执行环境配置文件)

  2. lunch 选择 9. aosp_bramble_car-userdebug(参考官网)

  1. m (开始编译)

注意:编译会存在问题,提前解决1,2,3问题:

问题 1. Could not find a supported mac sdk: ["10.10" "10.11" "10.12" "10.13"]

internal error: Could not find a supported mac sdk: ["10.10" "10.11" "10.12" "10.13"]

ninja: build stopped: subcommand failed.

解决:

(1)查看 mac xcode sdk 版本号

ls /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs

( 2 ) 找 到

下 载 aosp 里 面 的 x86_darwin_host 文 件 :

build/soong/cc/config/x86_darwin_host.go

(3)然后修改:

darwinSupportedSdkVersions = []string{

"10.10",

"10.11",

"10.12",

"10.13",

"10.14",

"10.15",

"11.0",

"11.1",

"12.0", // 自己电脑 xcode sdk 版本号

}

问题 2. too many open files

本人 m/make 编译可能会提示"too many open files",最后使用 make j4,j4 的数量可以自己定

义,可以从大到小自己试试适合的数量

4:构建与汽车相关的软件包:

m android.hardware.automotive.audiocontrol@1.0-service android.hardware.automotive.vehicle@2.0-service

三:烧机(烧置系统到手机)

注意:车载的aaos在mac m1芯片上模拟器是打不开的所以采用连接到pixel4a(5g)手机来开发

注意:车载的aaos在mac m1芯片上模拟器是打不开的所以采用连接到pixel4a(5g)手机来开发

注意:车载的aaos在mac m1芯片上模拟器是打不开的所以采用连接到pixel4a(5g)手机来开发

3.1手机设置

依次转到"设置">"系统">"开发者选项",然后启用 USB 调试和 OEM 解锁

3.2 将设备置于 Fastboot 模式,然后解锁:

adb reboot bootloader

fastboot flashing unlock

3.3刷写 build

fastboot -w flashall

3.4build 启动且显示主屏幕后

启用 adb remount

adb root && sleep 5 && adb disable-verity && sleep 1 && adb reboot && adb wait-for-device && sleep 5 && adb root && sleep 5 && adb remount

将所需的汽车专用文件推送到设备:

adb sync vendor

adb reboot

3.5等待设备启动:

参考文献:

1:Android的版本号 代号、标记和 build 号 | Android 开源项目 | Android Open Source Project

2:mac电脑编译aosp方法步骤 MacBook下载和编译Android AOSP源码-CSDN博客

相关推荐
九丝城主20 小时前
2025使用VM虚拟机安装配置Macos苹果系统下Flutter开发环境保姆级教程--上篇
服务器·flutter·macos·vmware
芳草萋萋鹦鹉洲哦1 天前
【vue3+tauri+rust】如何实现下载文件mac+windows
windows·macos·rust
梅名智2 天前
IOS 蓝牙连接
macos·ios·cocoa
帅次2 天前
Objective-C面向对象编程:类、对象、方法详解(保姆级教程)
flutter·macos·ios·objective-c·iphone·swift·safari
fengyun28912 天前
fcpx音视频剪辑编辑 Final Cut Pro X(Mac电脑)
macos·mac
fengyun28912 天前
Mac电脑 卸载工具 App Cleaner
macos
aerror3 天前
Xbox One 控制器转换为 macOS HID 设备的工作原理分析
macos·xbox
晴风向上3 天前
mac mini m4安装node.js@16以下版本方法
macos·node.js
JPCstorm3 天前
Mac homebrew 安装教程
macos
秋窗73 天前
Mac 部署Latex OCR并优化体验(打包成App并支持全局快捷键)
macos·ocr·latex