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博客

相关推荐
weixin_462446234 小时前
Linux/Mac 一键自动配置 JAVA_HOME 环境变量(含 JDK 完整性校验)
java·linux·macos
Frank学习路上4 小时前
【Qt】问题记录ld: framework ‘AGL‘ not found on MacOS 26
开发语言·qt·macos
SoraLuna4 小时前
KuiklyUI for OpenHarmony 实战 02:Kuikly 工程创建与鸿蒙运行(Mac)
macos·华为·harmonyos
微信-since811925 小时前
【mac】 mac使用
macos
REDcker1 天前
macOS「系统数据」暴涨到 几百GB?一篇文章教你安全清理(含排查顺序)
macos
sysinside1 天前
macOS Sequoia 15.7.2 (24G325) 正式版 ISO、IPSW、PKG 下载
macos·sequoia
只是有点小怂1 天前
macOS 没有像 Windows 上的 MobaXterm 的工具
macos
小雨青年1 天前
环境准备 Windows Mac 下 Docker Desktop 的安装与镜像源加速
windows·macos·docker
数据知道1 天前
一文掌握 MongoDB 详细安装与配置(Windows / Linux / macOS 全平台)
linux·数据库·windows·mongodb·macos