You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地编译AOSP系统刷入树莓派等嵌入式硬件的步骤咨询

把Android刷入树莓派类嵌入式硬件的完整步骤(含AOSP定制)

一、前期准备

  • 硬件:树莓派(优先选4B/400,性能足够支撑Android运行)、至少32GB的Class10以上高速SD卡、适配的电源、HDMI线+显示器(调试用)
  • 软件:Ubuntu 20.04/22.04系统的主机(AOSP编译对Linux版本有严格要求)、至少100GB空闲磁盘空间(源码+编译产物占比大)、Python3、Git、对应Android版本的OpenJDK(比如Android 12用OpenJDK 11)
  • 核心前提:先确认目标硬件有现成的AOSP适配分支,比如树莓派有第三方社区或LineageOS维护的适配项目,从零开始适配难度极高,新手直接基于现有适配改

二、获取适配好的AOSP源码

  • 不要直接用谷歌原生AOSP,嵌入式硬件需要适配内核、驱动、设备树,必须找对应硬件的适配仓库
  • 克隆源码步骤:
    1. 安装repo工具:
      mkdir ~/bin && curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo && chmod a+x ~/bin/repo
      
    2. 初始化repo仓库(替换成树莓派对应适配项目的地址和分支):
      mkdir aosp-rpi && cd aosp-rpi && repo init -u [适配项目repo地址] -b android-12.0.0_r30
      
    3. 同步源码(-j后接CPU核心数,提升同步速度):
      repo sync -j$(nproc)
      

三、定制AOSP

  • 基础定制(修改系统默认属性):
    • 替换默认壁纸:直接替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.jpg文件
    • 修改默认语言:编辑build/make/core/main.mk里的PRODUCT_LOCALES字段,改成zh_CN en_US
  • 应用层定制(增减系统应用):
    • 删除默认应用:编辑device/[品牌]/[设备型号]/device.mk,找到PRODUCT_PACKAGES列表,删掉不需要的应用(比如Calculator)
    • 添加自定义应用:把编译好的APK放到vendor/[你的自定义厂商名]/apps目录,然后在device.mk的PRODUCT_PACKAGES里添加应用名称
  • 内核/驱动定制:如果要修改硬件驱动,找到内核源码目录(一般在kernel/[硬件厂商]),修改对应驱动代码后重新编译内核

四、编译AOSP

  • 配置编译环境:
    1. 进入AOSP根目录,执行:
      . build/envsetup.sh
      
    2. 选择目标设备(树莓派4B的代号一般是rpi4-userdebug):
      lunch rpi4-userdebug
      
  • 开始编译:
    • 全量编译(第一次编译耗时几小时,耐心等待):
      make -j$(nproc)
      
    • 增量编译(修改代码后只编译改动部分):直接执行make -j$(nproc)即可
  • 编译产物会生成在out/target/product/[设备代号]目录,核心镜像包括boot.img、system.img、vendor.img等

五、刷入嵌入式硬件

方法一:Fastboot刷入(树莓派需先开启USB boot)

  1. 让树莓派进入Fastboot模式:修改SD卡根目录的config.txt,添加program_usb_boot_mode=1,重启后再连接USB到主机
  2. 执行刷入命令:
    fastboot flash boot out/target/product/rpi4/boot.img
    fastboot flash system out/target/product/rpi4/system.img
    fastboot flash vendor out/target/product/rpi4/vendor.img
    fastboot reboot
    

方法二:制作可启动SD卡(树莓派通用)

  1. 用lsblk确认SD卡的设备名(比如/dev/sdb,千万别选错磁盘)
  2. 把SD卡分成两个分区:FAT32格式的boot分区(约512MB)、EXT4格式的system分区(剩余空间)
  3. 写入镜像:
    dd if=out/target/product/rpi4/boot.img of=/dev/sdb1 bs=4M
    dd if=out/target/product/rpi4/system.img of=/dev/sdb2 bs=4M
    dd if=out/target/product/rpi4/vendor.img of=/dev/sdb3 bs=4M
    
  4. 拔出SD卡插入树莓派,通电启动

六、调试与验证

  • 首次启动可能需要3-5分钟,不要强行断电
  • 如果卡在开机界面,接树莓派的UART串口查看日志,排查驱动或内核适配问题
  • 进入系统后,验证定制内容:检查壁纸、默认语言是否修改,自定义应用是否存在,WiFi、蓝牙、摄像头等硬件功能是否正常

内容的提问来源于stack exchange,提问作者A.G

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 20:33:37