在archlinux下编译android


✅ 编译目标说明

  • Android 版本:Android 15(AOSP android-15.0.0_r1

  • 设备代号:Pixel 6 Pro → raven

  • 平台名称raviole

  • 内核版本android-gs-raviole-5.10-android15-qpr1(对应 Android 15 官方内核)


🛠️ 第一步:准备环境(你已用 Arch Linux)

手机: Pixel 6 Pro 电脑系统: archlinux 注意,清华源是没有pixel的内核分支的,所以需要梯子,尤其是pixel6系列的使用的google自研的芯片,需要从google官方下载对应的内核源码和驱动,编译后才能使用

清华源帮助google编译帮助

  1. 安装依赖:
bash
sudo pacman -S base-devel bc git gnupg flex bison gperf sdl12-compat squashfs-tools curl zlib lzop python perl openssl wget unzip zip ncurses rsync
  1. 安装 repo 工具(如果没有):
bash
mkdir -p ~/bin
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod +x ~/bin/repo
export PATH=~/bin:$PATH

你可以把 export PATH=~/bin:$PATH 加到 ~/.bashrc~/.zshrc


📥 第二步:同步 AOSP Android 15 源码

bash
mkdir -p ~/aosp-pixel6pro
cd ~/aosp-pixel6pro
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-15.0.0_r1
repo sync -j4

💾 第三步:下载 Pixel 6 Pro 驱动(Vendor blobs)

Google 官方提供厂商二进制包,你需要下载 Pixel 6 Pro 的 Android 15 版本:

链接(注意选择 Pixel 6 Pro + Android 15):
📎 https://developers.google.com/android/drivers?hl=zh-cn#ravenhttps://developers.google.com/android/drivers?hl=zh-cn#raven

下载 raven 的对应 ZIP 文件后,执行:

bash
unzip raven-xxxx.zip
./extract-google_devices-raven.sh

这一步会把厂商驱动解压到 device/google/raviole 等目录。


🧩 第四步:下载并构建 Pixel 6 Pro 官方内核

  1. 获取内核源码:
bash
cd ~/aosp-pixel6pro
git clone https://android.googlesource.com/kernel/google/gs-raviole
cd gs-raviole
git checkout android-gs-raviole-5.10-android15-qpr1
  1. 安装构建内核需要的 clang 工具链:
bash
cd ~/aosp-pixel6pro
mkdir -p prebuilts/clang/host/linux-x86
cd prebuilts/clang/host/linux-x86
git clone https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86 clang-r450784d
  1. 编译内核:
bash
cd ~/aosp-pixel6pro/gs-raviole
BUILD_CONFIG=private/gs-google/build.config.raven build/build.sh

成功后你会在 out/ 目录下找到:

  • Image.lz4-dtb

  • dtbo.img

  • vendor_boot.img(也可能是分开的 vendor_kernel_boot.imgvendor_dlkm.img


🧱 第五步:编译 Android 15 系统镜像

  1. 回到 AOSP 根目录:
bash
cd ~/aosp-pixel6pro
source build/envsetup.sh
lunch aosp_raven-userdebug
  1. 开始编译:
bash
m -j$(nproc)

成功后会生成:

  • out/target/product/raven/system.img

  • boot.img(可能需你手动使用编译出的内核合成)

  • vendor.imgproduct.img


📦 第六步:打包刷机镜像(可选)

你可以用 fastboot flash 分别刷写生成的镜像:

bash
fastboot flash boot boot.img
fastboot flash vendor_boot vendor_boot.img
fastboot flash system system.img
fastboot flash vendor vendor.img
fastboot flash product product.img
...
fastboot reboot

✅ 总结流程回顾

步骤内容
1安装依赖和 repo 工具
2初始化和同步 AOSP Android 15 源码
3下载并解压 Pixel 6 Pro 的厂商驱动
4下载并编译 gs-raviole 内核分支(raven)
5编译 AOSP 系统
6合成 boot.img 并刷机(可选)

📩 如果你现在已经完成某一步,或者出现了具体报错,告诉我终端输出,我可以一步步帮你解决!

是否要我帮你编写一个完整的 build.sh 脚本来自动执行这些步骤?