在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官方下载对应的内核源码和驱动,编译后才能使用
- 安装依赖:
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
- 安装
repo
工具(如果没有):
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 源码
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 文件后,执行:
unzip raven-xxxx.zip
./extract-google_devices-raven.sh
这一步会把厂商驱动解压到 device/google/raviole
等目录。
🧩 第四步:下载并构建 Pixel 6 Pro 官方内核
- 获取内核源码:
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
- 安装构建内核需要的 clang 工具链:
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
- 编译内核:
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.img
和vendor_dlkm.img
)
🧱 第五步:编译 Android 15 系统镜像
- 回到 AOSP 根目录:
cd ~/aosp-pixel6pro
source build/envsetup.sh
lunch aosp_raven-userdebug
- 开始编译:
m -j$(nproc)
成功后会生成:
out/target/product/raven/system.img
boot.img
(可能需你手动使用编译出的内核合成)vendor.img
、product.img
等
📦 第六步:打包刷机镜像(可选)
你可以用 fastboot flash
分别刷写生成的镜像:
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
脚本来自动执行这些步骤?