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

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

相关文章:

  • 详解Adobe Photoshop 2024 下载与安装教程
  • 论文笔记(八十)π0.5: a Vision-Language-Action Model with Open-World Generalization
  • Python并行计算:2.Python多线程编程:threading模块详解与守护线程实战
  • Spring Boot 3.4 实战指南:从性能优化到云原生增强
  • Spring Boot安装指南
  • Java后端开发——分层解耦详解
  • [mysql]数据类型精讲下
  • 用go从零构建写一个RPC(仿gRPC,tRPC)--- 版本1
  • Synology HDD db - 群晖硬盘兼容性数据库工具
  • Linux0.11内存管理:相关代码
  • DeepSeek系列(9):团队协作最佳实践
  • 数字喜好判断之谜
  • 财务管理域——绩效管理系统设计
  • 代理专栏总结
  • 【微知】/proc中如何查看Linux内核是否允许加载内核模块?(/proc/sys/kernel/modules_disabled)
  • SpringBoot UserAgentUtils获取用户浏览器 操作系统设备统计 信息统计 日志入库
  • Arduino+ESP01S烧录
  • 【数据结构】优先级队列
  • 基于共享上下文和自主协作的 RD Agent 生态系统
  • 【计算机网络】TCP的四种拥塞控制算法
  • 物业也能成为居家养老“服务员”,上海多区将开展“物业+养老”试点
  • 早睡1小时,变化有多惊人?第一个就没想到
  • 点燃“文化活火”,上海百年街区创新讲述“文化三地”故事
  • 中公教育:去年全面扭亏,经营性现金流增长169.6%
  • 坤莹·帕塔玛·利斯达特拉任世界羽联主席
  • 破解160年基因谜题,我国科学家补上豌豆遗传研究最后拼图