mac M1芯片上编译车载aaos

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

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

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

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

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

二:配置mac编译环境

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

mac M1芯片上编译车载aaos_第1张图片

xcode

mac M1芯片上编译车载aaos_第2张图片

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文件,并执行

mac M1芯片上编译车载aaos_第3张图片

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

2.4:aosp编译

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

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

mac M1芯片上编译车载aaos_第4张图片

3. 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 [email protected] [email protected]

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

注意:车载的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等待设备启动:

mac M1芯片上编译车载aaos_第5张图片

参考文献:

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

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

你可能感兴趣的:(macos)