mac M1芯片上编译车载aaos

news2025/1/11 13:58:25

一: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(参考官网)

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1282149.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023.12.2 关于 Spring AOP 详解

目录 Spring AOP Spring AOP 常见使用场景 AOP 组成 切面(类) 切点(方法) 通知 ​编辑 前置通知(Before) 后置通知(After) 返回通知(AfterReturning&#xff0…

认识DHT11温湿度传感器并制作温度报警器

Arduino UNO Arduino IDE开发环境 Arduino DHT11温湿度传感器 ​ 一、认识Arduino的DHT11温度湿度传感器 DHT传感器由电容式湿度传感器和热敏电阻两部分组成。除此之外,模块内部还有一些模拟信号到数字信号的转换,将温度湿度以数字信号的方式输…

EPS地形图绘制技巧--快捷键

如何导入外业点数据? (1)打开EPS软件,新建一个工程。如下: (2)在【文件】-【输入输出】-【调入坐标文件数据】中,调入测量点数据,如下: (3&#…

asp.net_sql2008公司人事管理系统

登录模块 流程图: ◆ 职工输入用户名、密码并选择登录身份,根据选择的身份做不同的操作 ◎ 若选择的是“职工”,系统将查询数据库中的用户表Users的记录,用户名密码核对正确后加载职工主界面; ◎ 若选择的是“管理员…

Find My扩展坞|苹果Find My技术与扩展坞结合,智能防丢,全球定位

扩展坞又称端口复制器,是专为笔记本电脑设计的一种外置设备。通过复制甚至扩展笔记型计算机的端口,可使笔记本电脑与多个配件或外置设备(如电源适配器、网线、鼠标、外置键盘、打印机及外置显示器)方便的一站式连接。随着全球经济…

Perplexity发布两款LLM模型:pplx-7b-online和pplx-70b-online 可利用实时互联网数据查询

Perplexity AI,一家创新的人工智能初创公司,近日推出了一项能够改变信息检索系统的解决方案。该公司推出了两款新的大语言模型(LLMs),分别是pplx-7b-online和pplx-70b-online,标志着首次通过API公开访问在线…

C# OpenVINO 模型信息查看工具

目录 效果 支持模型 项目 代码 下载 C# OpenVINO 模型信息查看工具 效果 支持模型 ONNX format (*.onnx) PDPD (*.pdmodel) TF (*.pb) TFLite (*.tflite) 项目 代码 using Sdcb.OpenVINO; using System; using System.Collections.Generic; using System.Text; using…

docker部署typecho博客

文章目录 1.安装git2.安装compose3.拉取仓库4.创建目录5.配置文件修改6.启动容器7.修改MYSQL数据库8.安装成功9.参考GitHub文档 1.安装git 安装git yum -y install git2.安装compose (docker安装参考:docker基本知识) 确保已经安装了 Doc…

数组中第k个最大元素(优先队列)

class Solution { public:int findKthLargest(vector<int>& s, int k) {priority_queue<int> pq;for(int i 0; i < s.size(); i){pq.push(s[i]);}for(int i 1; i < k; i){pq.pop();}return pq.top();} }; priority_queue<int> pq为优先队列 s.s…

傅里叶变换及其在机器学习中的应用

​​​​​​​一、介绍 傅立叶变换是一种数学技术&#xff0c;在各个科学和工程领域发挥着关键作用&#xff0c;其应用范围从信号处理到量子力学。近年来&#xff0c;它在机器学习领域发现了新的意义。本文探讨了傅里叶变换的基础知识及其在机器学习应用中日益增长的重要性。 …

万界星空科技注塑mes

塑料制品产业虽然有一定的规模和基础&#xff0c;但存在自主创新能力低、“散小乱”、品牌效应不明显、行业创新能力与庞大的产业不匹配或支撑不足等问题&#xff0c;塑料加工行业还处在质量型产业的初期&#xff0c;抗风险能力低。注塑行业6大痛点&#xff1a; 1.生产效率低 注…

堆排序(C语言)

前言 在上一篇内容&#xff1a;大小堆的实现&#xff08;C语言&#xff09;&#xff0c;我们实现了关于创建大小堆的各函数与实现。但是如果突然要使用一个堆排序但是此时并没有一个现成的堆&#xff0c;这就需要花费时间去新建实现堆的插入删除这些操作从而实现一个堆&#xf…

如何有效进行主数据治理

在企业信息化建设不断推进、逐渐进行数字化转型的今天&#xff0c;几乎所有的企业都卷入到数据及其处理&#xff08;数据收集、存储、检索、传输、分析和表示&#xff09;的浪潮中&#xff0c;数据已成为重要生产要素和无形资产&#xff0c;针对主数据的全生命周期管理迫在眉睫…

老司机带你一课学透,核心分布式事务框架之Alibaba Seata框架经验总结

在现代分布式系统中&#xff0c;保证数据的一致性和可靠性是一项重要的挑战。Alibaba Seata是一款开源的分布式事务解决方案&#xff0c;它提供了强大的支持&#xff0c;帮助开发者处理分布式事务。本文将向您介绍Alibaba Seata框架&#xff0c;并分享一些使用该框架的经验总结…

Java零基础——SpringSecurity篇

1.认证授权的基础概念 1.1 什么是认证&#xff08;登录&#xff09; 进入移动互联网时代&#xff0c;大家每天都在刷手机&#xff0c;常用的软件有微信、支付宝、头条等&#xff0c;下边拿微信来举例子说明认证相关的基本概念&#xff0c;在初次使用微信前需要注册成为微信用户…

31名!美创科技再次入选《中国网络安全企业100强》

12月1日&#xff0c;安全牛联合中国计算机学会抗恶劣环境计算机专业委员会、信息产业信息安全测评中心正式发布第十一版《中国网络安全企业100强》&#xff08;以下简称“100强”&#xff09;。 美创科技再次入选“中国网络安全企业100强”&#xff0c;位列31名&#xff08;数据…

07、基于LunarLander登陆器的强化学习案例(含PYTHON工程)

07、基于LunarLander登陆器的强化学习&#xff08;含PYTHON工程&#xff09; 开始学习机器学习啦&#xff0c;已经把吴恩达的课全部刷完了&#xff0c;现在开始熟悉一下复现代码。全部工程可从最上方链接下载。 基于TENSORFLOW2.10 0、实践背景 gym的LunarLander是一个用于…

无需服务器,无需魔法,拥有一个微信机器人就是这么简单

前情提要 还没看过的朋友可以看一下上一篇文章《拥有一个微信机器人总共需要几步&#xff1f;》在这篇文章里&#xff0c;我们提到&#xff0c;创建微信机器人需要一个大前提--你得有一台服务器。现在&#xff0c;不再需要了&#xff01;没错&#xff0c;上一篇提到的Serverles…

Python爬虫:使用Scrapy框架进行高效爬取

Python爬虫可使用的架构有很多&#xff0c;对于我而言&#xff0c;经常使用Scrapy异步处理框架Twisted&#xff0c;其实意思很明确&#xff0c;Scrapy可以实现多并发处理任务&#xff0c;同一时间将可以处理多个请求并且大大提高工作效率。 Scrapy是一个强大且高效的Python爬虫…

文章阅读——Scaffolding protein functional sites using deep learning

1.最终幻想: 无中生有的蛋白质从头设计 零.导读 近几年&#xff0c;蛋白质结构预测领域连续取得重大突破。首先是【AlphaFold】&#xff0c;在可以充分利用共进化信息结合深度神经网络生成空间约束条件并降低相空间的搜索&#xff0c;极大地帮助了蛋白质的结构建模&#xff0…