Android 13 AOSP编译镜像刷入Pixel 3a后反复重启至bootloader求助
问题
尝试编译Android 13并刷入Pixel 3a设备,已遵循官方文档执行以下操作:
mkdir aosp cd aosp git config --global user.name Your Name git config --global user.email you@example.com repo init -u https://android.googlesource.com/platform/manifest -b android-13.0.0_r50 repo sync source build/envsetup.sh lunch aosp_bluejay-userdebug m cd ~/aosp/out/target/product/bluejay # 包含boot.img、system.img等镜像,但未找到vendor.img??? adb reboot bootloader fastboot flashall -w
刷入完成后设备停留在fastboot界面,点击启动后显示Google logo随即重启至bootloader。当前fastboot版本为b4s4-0.4-7773694,此前编译aosp_sdk_x86_64镜像刷入模拟器成功。
故障原因与排查方案
核心原因:缺失Vendor镜像
Pixel 3a(设备代号bluejay)的Vendor分区包含谷歌专有二进制驱动,AOSP开源源码默认不提供这部分内容。未刷入正确的Vendor镜像是导致系统无法启动、重启回bootloader的最常见原因。
修复步骤:
- 下载对应Android 13.0.0_r50版本的Pixel 3a专有二进制文件,解压后得到可执行脚本
- 在AOSP源码根目录执行该脚本,将专有二进制文件合并到源码树中
- 清理旧编译产物并重新编译:
编译完成后,make clean source build/envsetup.sh lunch aosp_bluejay-userdebug mout/target/product/bluejay目录下会生成完整的vendor.img
日志排查方法
1. Fastboot状态变量检查
在fastboot模式下执行:
fastboot getvar all
可查看设备的分区状态、版本匹配信息,部分启动失败的关键提示会在这里输出。
2. 内核日志(dmesg)抓取
临时启动内核并快速抓取日志:
fastboot boot boot.img # 设备启动后立刻执行 adb shell dmesg > dmesg.log
由于设备会快速重启,需要在短时间内完成adb连接与日志导出。
3. Recovery模式日志
尝试长按电源键+音量上键进入Recovery模式:
- 选择
View recovery logs直接查看 - 或通过
adb pull /tmp/recovery.log将日志导出到本地
4. Logcat日志
如果设备能短暂进入系统(重启前),可尝试:
fastboot flash boot boot.img # 设备启动瞬间执行 adb logcat -v time > logcat.log
抓取重启前的系统日志,定位具体崩溃点。
其他可能的排查方向
- Fastboot版本兼容性:当前使用的fastboot版本可能存在适配问题,建议更新至最新版Android SDK Platform Tools
- 分区擦写完整性:
fastboot flashall -w会擦除userdata分区,但如果vendor分区未正确生成,系统无法挂载必要分区导致重启,确认重新编译后所有镜像(vendor.img、product.img等)是否齐全 - 编译配置验证:再次确认
lunch aosp_bluejay-userdebug的设备代号正确,Pixel 3a的官方代号确实为bluejay
内容的提问来源于stack exchange,提问作者Defi Nghĩa
相关产品推荐
相关产品推荐

