当前位置: 首页 > java >正文

Android12源码编译及刷机

由于google的AOSP源码拉取经常失败,编译还经常出现各种问题。这里根据香橙派Orange Pi 5 Plus(Android12电视镜像)源码进行编译演示。

RK芯片的开发板可玩性很高,这里以电视版本android系统为例子,学习的同时还可以当成一个电视盒子。我初学时候很有成就感!

其实香橙派官方文档已经说的特别详细了。以下是关键步骤的操作流程.

电脑最低配置要求

cpu8核
内存16G
硬盘空闲250G以上

环境配置

设置交换分区

建议使用ubuntu系统,这里以ubunt18.04为例。

注意:不同系统版本有差别,请根据自己的系统版本情况。

#ubuntu18.04
#查看物理内存大小
free -m  
#设置虚拟内存大小(等于你的物理内存大小即可,这里设置为16G)
sudo dd if=/dev/zero of=/tmp/swapfile bs=1M count=16096
# 修改内存空间的权限
sudo chmod 600 /tmp/swapfile
#格式化
sudo mkswap /tmp/swapfile
#开启虚拟内存
sudo swapon /tmp/swapfile
#设置配置文件
sudo vim /etc/fstab
# 编辑/etc/fstab文件使系统开机后自动挂载虚拟内存空间,设置如下
/tmp/swapfile swap swap defaults 0 0
# 查看
sudo swapon -s

安装软件包

sudo apt-get update 
sudo apt-get install -y git gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc 
sudo apt-get install -y u-boot-tools

因为不同版本可能有区别,在启动编译后如果遇到缺失***依赖错误,只需要继续安装相关依赖即可,命令如下:

sudo apt-get install ***

代码下载合并分包

百度网盘下载 Android 12源码的分卷压缩包

验证文件完整

md5sum -c Android_12.tar.gz.md5sum

需要将多个压缩文件合并成一个,再进行解压

cat Android_12.tar.gz0* > Android_12.tar.gz
tar -xvf Android_12.tar.gz

 启动编译

test@test:~$ cd Android_12
test@test:~/ Android_12$ export BOARD=orangepi5plus
test@test:~/ Android_12$ source build/envsetup.sh
test@test:~/ Android_12$ lunch rk3588_box-userdebug
test@test:~/ Android_12$ ./build.sh -AUKu

漫长的编译

我首次编译了1小时10分钟钟左右,我的机器配置如下

硬盘m2 256G (源码挂载的磁盘)
cpuntel(R) Core(TM) i9-9900KF CPU @ 3.60GHz
内存

ddr4 32G

编译成功

镜像生成目录

rockdev/Image-rk3588_box/update.img

刷机

安装驱动(windows刷机工具作为演示)

下载驱动包DriverAssitant_v5.12.zip,解压后执行DriverInstall.exe

a. 点击“驱动安装”按钮

b. 等待一段时间后,会弹出窗口提示“安装驱动成功”,然后点击“确定” 按钮即可

下载并解压刷机工具RKDevTool_Release_v3.15.zip,打开RKDevTool

打开 RKDevTool 烧录工具后,因为电脑此时还没有通过 Type-C 线连接上开发 板,所以左下角会提示“没有发现设备”

先将刷机口使用type-c连接到电脑,按住刷机按键,给板子供电。

成功识别到主板

点击“升级固件”菜单,点击固件,选择update.img镜像文件所在位置

点击第二排的“升级”按钮,开始刷机跑进度

等待刷机成功

重启开机

接上显示器,就可以看到电视盒子主页了。但是控制还是需要usb鼠标或者红外遥控器

当然因为默认开发板adb是打开的,设备重启后,可以不连接显示器,直接使用scrcpy软件投屏。可以更方便的用电脑控制开发板。

资源下载

官方网盘源码下载地址

百度网盘 百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com/share/init?surl=QrrIlT0aTjFUKIKfKj83rw&pwd=gpfw

scrcpy下载官网下载

https://github.com/Genymobile/scrcpyhttps://github.com/Genymobile/scrcpy


        百度网盘 https://pan.baidu.com/s/1O52njym-z6rrI3apoxJ9lw 提取码: 4jbw

 官方资料及工具

Orange Pi - Orangepihttp://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-5-plus.html

windows刷机工具

百度网盘百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com/share/init?surl=OYATa2_Q_3GCCv01DpjLVg&pwd=37wm

http://www.xdnf.cn/news/2207.html

相关文章:

  • JavaWeb——案例(14/x)- 文件上传-阿里云OSS-准备(阿里云 OSS 简介、使用阿里云 OSS 的流程、关键准备工作)
  • 【含文档+PPT+源码】基于Django框架的乡村绿色农产品交易平台的设计与实现
  • DeepSeek预训练追求极致的训练效率的做法
  • 【分布式系统中的“瑞士军刀”_ Zookeeper】二、Zookeeper 核心功能深度剖析与技术实现细节
  • 818协议知识笔记
  • ShaderToy学习笔记 03.多个形状和旋转
  • DHCP配置文件详解
  • 解决conda虚拟环境安装包却依旧安装到base环境下
  • AEB法规升级后的市场预测与分析:技术迭代、政策驱动与产业变革
  • 链接文件及功能安全:英飞凌官方文档摘录 - 基于Tasking与AURIX TC3xx MCAL中Link文件解析以及代码变量定位方法详解
  • C++学习:六个月从基础到就业——STL:分配器与设计原理
  • 一种滑窗像素自差值的深度学习损失函数
  • MySQL主从数据库配置教程
  • 谈谈关于【枚举】类型变量的好处
  • ARM架构的微控制器总线矩阵优先级与配置
  • SpringMVC
  • OpenFeign 日志配置
  • 在应用运维过程中,业务数据修改的证据留存和数据留存
  • 62.不同路径
  • Android移动应用开发:创建计算器
  • 模型 隐含前提
  • 【后端】主从单体数据库故障自动切换,容灾与高可用
  • Jest 快照测试
  • 前端面试 HTML篇
  • vue中 vue.config.js反向代理
  • 元数据驱动的 AI 开发:从数据目录到模型训练自动化
  • 蓝桥杯 8. 移动距离
  • 【QuPath】人工标注WSI
  • 产销协同是什么?产销协同流程有哪些?
  • 2025.04.26-淘天春招笔试题-第二题