IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 烧录Android 11(R)镜像到Pixel 2设备 -> 正文阅读

[移动开发]烧录Android 11(R)镜像到Pixel 2设备

前言

在上一篇文章中,已经成功下载谷歌官方的Android11源码,并且编译成功。具体步骤方法可以参考:编译Android11源码
接下来就需要尝试把编译好的镜像烧录到设备中,目标设备是谷歌推出的一款手机Pixel 2

预计工作如下:
1、下载配套的设备驱动
2、将驱动文件集成进源码,编译镜像文件
3、使用烧录工具烧写镜像到设备中

下载驱动

烧写特定的版本,且保证设备能够正常工作,需要下载对应的设备驱动,可以参考官网给出的链接进行下载 Pixel2 设备驱动
Android 11对应pixel 2设备驱动
下载完成后会得到google和qcom两个tgz压缩文件,解压后生成对应的两个sh文件
在这里插入图片描述
将sh文件拷贝到编译服务器临时目录,执行后会生成vendor文件夹
在这里插入图片描述

重编系统生成可适配设备的镜像文件

将vendor文件夹完整拷贝到Android 11源码的根目录下,重新编译生成镜像文件
在这里插入图片描述

烧录镜像至Pixel 2设备

这一步的操作尤其关键,开始也参考了网上很多方法,基本上分为两种,一种是整体烧录img文件,另一种是分别烧录img文件。我使用的是window 7操作系统,编译服务器是在ubuntu系统下,因此,需要将img文件拷贝至本地目录中来。
第一种,整体烧录img文件

adb reboot bootloader
fastboot flashall -w

第二种,分别烧录img文件

adb reboot bootloader
fastboot flash boot_a boot.img
fastboot flash boot_b boot.img
fastboot flash system system.img
fastboot flash system_b system_other.img
fastboot flash vendor vendor.img

但是不知道是哪里配置不对,当烧写完镜像后,设备启动会一直卡在bootloader界面,提示ERROR: Slot Unbootable: Load Error错误。

于是尝试使用另外一种方法,先使用官方的烧录工具烧录原厂镜像包试试看能否成功。
到指定链接下载原厂烧录镜像包,里面工具齐全,一键就可以进行烧录:原厂烧录工具
同样,此步骤也需要找到与前面镜像匹配的版本
在这里插入图片描述
下载完成后,解压出工具包会得到如下文件
在这里插入图片描述
此时,我们连接usb线束,然后执行adb reboot bootloader命令使设备进入bootloader状态,双击运行 “flash-all.bat” 文件即可自动进入烧录状态,等待一段时间后即可完成烧录,手机自动重启,运行官方的Android 11系统。
在这里插入图片描述
当然,我们的目标是烧录自己编译的Android 11系统到Pixel 2设备上,所以上面的内容还没有结束。既然现在我们已经可以有方法烧录镜像到设备中,那么我们思考,如果将原厂的镜像文件替换成自己编译的镜像文件,是不是也可以成功烧录呢?
在这里插入图片描述
如图所示,左边是谷歌原厂镜像包中的img文件,右边是服务器上编译生成的out目录下img文件。使用右边的img文件替换原厂包内容,执行之前的bat脚本进行烧录,最终成功将自己编译的系统烧录至Pixel 2设备中。

这里有一点需要提醒,就是在替换img文件的时候,原厂镜像包的img文件是集中打包在一个zip文件中的,需要解压出文件夹之后再替换里面的文件,然后再重新压缩成zip包,这样才能校验通过,继而烧录成功。之前我就是直接拖拽要替换的文件到zip包中,烧录的时候会提示crc32校验不匹配而失败。

总结

第一次成功将自己编译的镜像包烧录到手机设备当中,还是小有收获的,也为后面学习framework知识做好了铺垫,希望不久的将来自己也能够在Android系统层面有所建树,加油!

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-09-07 10:56:29  更:2021-09-07 10:57:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 17:15:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码