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 installqemu-system-arm qemu-user-staticbinfmt-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
参考:

浙公网安备 33010602011771号