Mac Pro M3编译Android AOSP

安装系统时,记得取消set up as LVM group,否则硬盘上限仅100G 

安装Repo:

 sudo apt install repo

配置git账户(需要是Google邮箱)

git config --global user.email "you@example.com"

git config --global user.name "Your Name"

从https://source.android.google.cn/docs/setup/about/build-numbers?hl=zh-cn#source-code-tags-and-builds查看版本分支及支持的机型

初始化Repo(从版本页面选取Android14,支持pixel5、6、7的分支):

repo init --partial-clone -b main -u https://android.googlesource.com/platform/manifest -b android-14.0.0_r52

开始下载源码:

repo sync -c -j8

还可以从清华镜像站下载

 

通过源码分支的Build id,从驱动程序页面下载需要调试的设备的驱动。

将下载的文件解压后,将其中的文件复制到源码根目录,执行,阅读完协议,并同意后,会安装驱动

$ ./extract-google_devices-panther.sh

 

安装必要的工具:(由于是在arm架构上,所以不能使用libc6-dev-i386, 需要改为libc6-dev)

sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev libc6-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig

 

 准备编译环境:

$ . build/envsetup.sh

 

编译时报错:

/home/irwin/AOSP/AND14/build/blueprint/microfactory/microfactory.bash:line 63:

/home/irwin/AOSP/AND14/prebuilts/go/linux-x86//bin/go: cannot execute binary file: Exec format error

是由于由于在ARM架构的系统上试图执行为x86架构编译的二进制文件(在这种情况下是Go编译器)导致的。Android的AOSP源码中的预构建工具是为x86架构编译的,而你当前使用的是ARM架构,这就会导致这个问题。不过可以让arm 架构的ubuntu支持运行x86的程序,具体做法如下:

sudo apt-get update
sudo apt-get install qemu-system-arm qemu-user-static binfmt-support

# binfmt_misc 是一个Linux内核特性,它允许你在指定的处理器架构上执行其他架构的二进制文件。通过配置binfmt_misc,可以自动使用QEMU来模拟运行x86的二进制文件。
# 启用配置

  sudo update-binfmts --enable qemu-i386
  sudo update-binfmts --enable qemu-x86_64

 

开始编译:

lunch sdk_phone-aosp_oriole-eng

发生错误:

x86_64-binfmt-P: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory

  

 

 

参考:

下载编译调试Aosp

下载编译AOSP并导入AS

MacM2编译Aosp

MacM3编译Aosp

 

posted @ 2024-09-13 17:01  Oxgen  Views(1091)  Comments(0)    收藏  举报