android的recovery,fastboot和bootloader

2024-06-01 17:48

本文主要是介绍android的recovery,fastboot和bootloader,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        虽然最近,我主领的android项目重构工作,正在有条不 紊的开展当中,但是因为项目一直迭代,技术开发不能影响业务的展开。而公司的人都是干缝缝补补的活的,所以,把这个工作时间可能会拉的比较长。大概估计的是半年完成,实际肯定会少于半年。总比之前画半年的鸡蛋,好的多。

        哪怕现在公司别人由于业务少,技术就不动我,我是受不了安逸舒适的。除了思考项目的事情。。最近一段时间,也在了解和学习,Android 系统定制相关的东西。

        想定制,就是动系统层,这层,就要会系统开发了。利用编译系统源码,来修改系统应用,和framework层的东西。但是,不要太无解,如果只是做系统基本的应用开发,也是可以不从源码角度开发的,前提是,你需要有一个非常高权限系统用户的android手机。

      好了,上面,算是我以后,关于这个知识点自学过程的一个开题吧。好吧,说正经的。。也是我之前整理的。


Fastboot /Bootloader的概念是普遍性的:

大多数情况下,它们的 Fastboot/Bootloader 模式是锁定的。但是,值得称道的是,现在越来越多的厂商已渐渐向
开发的 Fastboot/Bootloader 模式过渡.

recovery:

如果没有进入fastboot,bootloader继续执行,如果又发现有特殊的按键组合,比如htc g2上是home键和开机键,则会
进入recovery模式。分析recovery.img镜像文件就会发现,它里面包含了一个kernel以及一个可执行程序recovery,以
及一些初始化文件。从某种意义来说,这就是一个小型操作系统,和正常启动进入的系统的kernel是一样的,只是init及
之后干的事情不同。
这里的kernel和我们常说的linux内核还是有差异的,linux内核是包括kernel以及调度器内存管理等除显示界面外完
整系统。而kernel只是指内核init进程启动前的那一段逻辑。
Recovery恢复时,刷机包通常放在SD卡里,所以这里刷机一般称为卡刷。

fastboot:

fastboot,它是bootloader后期进入的一个特殊阶段。可以通过数据线与电脑连接,然后在电脑上执行一些命令,如
刷系统镜像到手机上。fastboot可以理解为实现了一个简单的通信协议,接收命令并更新镜像文件,其他什么的干
不了。
须有一个PC机并且USB线要始终联着。所以这种方式称为线刷。
fastboot需要bootloader的支持,所以不是每家手机都会支持这种模式。
联想手机居然把这个阶段,叫做DroidBoot.

bootloader:

机器首先要启动,CPU 最先执行的一段程序就是 BootLoader,这和电脑上的BIOS是一个玩意儿。
BootLoader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存
空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入
式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的
加载启动任务就完全由BootLoader来完成。比如在一个基于ARM7TDMI core的嵌入式系统中,系统在上电或复位时通常
都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。

三方厂商自定义的一些模式:(有的是基于系统的,有的只是上面换个说法)

启动模式(normal mode)、
安全模式(safe mode)、
恢复模式(recovery mode)、
引导模式(bootloader mode)、
fastboot模式和诊断模式(diagnostic mode)。

特殊模式:

Downloading模式(俗称挖煤模式):三星安卓手机刷官方系统时使用该模式,配合电脑端odin软件进行。
FTM模式(工厂测试模式):该模式对用户而言一般可用来刷机,当然部分机型需要配合电脑端RSD软件进行。
T卡模式:中兴手机刷官方系统使用的模式。一般将系统image文件夹(文件夹内需要有image.bin文件)拷贝至SD卡中并将SD卡插入手机。
SD卡升级模式:该模式为华为刷官方系统时使用。一般将dload文件夹拷贝至SD卡中并将SD卡插入手机。自动刷入。
PS:当手机识别不到SD卡时,该模式会显示粉屏,俗称“粉屏模式”。
AP模式(或BP模式):该模式存在于部分机型中,如moto defy等,其作用等同于fastboot模式。

拿到的系统文件名称:
        镜像包 .img
        打包后的镜像包  .bin
分区名:
        BootLoader   相当去BIOS.
        recovery     简单的一个内核系统,卡刷
        boot         迷你文件系统负责挂载,LinuxKernel,负载system,cache,userdata等。
       system       常规的Android系统所在的分区,挂载在/system目录下.
        userdata     /data 用户数据分区。
        cache        缓存分区,一般用来OTA升级进入recovery前,临时存放OTA包升级的存放文件。
        sdcard

这篇关于android的recovery,fastboot和bootloader的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1021695

相关文章

Eclipse+ADT与Android Studio开发的区别

下文的EA指Eclipse+ADT,AS就是指Android Studio。 就编写界面布局来说AS可以边开发边预览(所见即所得,以及多个屏幕预览),这个优势比较大。AS运行时占的内存比EA的要小。AS创建项目时要创建gradle项目框架,so,创建项目时AS比较慢。android studio基于gradle构建项目,你无法同时集中管理和维护多个项目的源码,而eclipse ADT可以同时打开

android 免费短信验证功能

没有太复杂的使用的话,功能实现比较简单粗暴。 在www.mob.com网站中可以申请使用免费短信验证功能。 步骤: 1.注册登录。 2.选择“短信验证码SDK” 3.下载对应的sdk包,我这是选studio的。 4.从头像那进入后台并创建短信验证应用,获取到key跟secret 5.根据技术文档操作(initSDK方法写在setContentView上面) 6.关键:在有用到的Mo

android一键分享功能部分实现

为什么叫做部分实现呢,其实是我只实现一部分的分享。如新浪微博,那还有没去实现的是微信分享。还有一部分奇怪的问题:我QQ分享跟QQ空间的分享功能,我都没配置key那些都是原本集成就有的key也可以实现分享,谁清楚的麻烦详解下。 实现分享功能我们可以去www.mob.com这个网站集成。免费的,而且还有短信验证功能。等这分享研究完后就研究下短信验证功能。 开始实现步骤(新浪分享,以下是本人自己实现

Android我的二维码扫描功能发展史(完整)

最近在研究下二维码扫描功能,跟据从网上查阅的资料到自己勉强已实现扫描功能来一一介绍我的二维码扫描功能实现的发展历程: 首页通过网络搜索发现做android二维码扫描功能看去都是基于google的ZXing项目开发。 2、搜索怎么使用ZXing实现自己的二维码扫描:从网上下载ZXing-2.2.zip以及core-2.2-source.jar文件,分别解压两个文件。然后把.jar解压出来的整个c

android 带与不带logo的二维码生成

该代码基于ZXing项目,这个网上能下载得到。 定义的控件以及属性: public static final int SCAN_CODE = 1;private ImageView iv;private EditText et;private Button qr_btn,add_logo;private Bitmap logo,bitmap,bmp; //logo图标private st

Android多线程下载见解

通过for循环开启N个线程,这是多线程,但每次循环都new一个线程肯定很耗内存的。那可以改用线程池来。 就以我个人对多线程下载的理解是开启一个线程后: 1.通过HttpUrlConnection对象获取要下载文件的总长度 2.通过RandomAccessFile流对象在本地创建一个跟远程文件长度一样大小的空文件。 3.通过文件总长度/线程个数=得到每个线程大概要下载的量(线程块大小)。

时间服务器中,适用于国内的 NTP 服务器地址,可用于时间同步或 Android 加速 GPS 定位

NTP 是什么?   NTP 是网络时间协议(Network Time Protocol),它用来同步网络设备【如计算机、手机】的时间的协议。 NTP 实现什么目的?   目的很简单,就是为了提供准确时间。因为我们的手表、设备等,经常会时间跑着跑着就有误差,或快或慢的少几秒,时间长了甚至误差过分钟。 NTP 服务器列表 最常见、熟知的就是 www.pool.ntp.org/zo

高仿精仿愤怒的小鸟android版游戏源码

这是一款很完美的高仿精仿愤怒的小鸟android版游戏源码,大家可以研究一下吧、 为了报复偷走鸟蛋的肥猪们,鸟儿以自己的身体为武器,仿佛炮弹一样去攻击肥猪们的堡垒。游戏是十分卡通的2D画面,看着愤怒的红色小鸟,奋不顾身的往绿色的肥猪的堡垒砸去,那种奇妙的感觉还真是令人感到很欢乐。而游戏的配乐同样充满了欢乐的感觉,轻松的节奏,欢快的风格。 源码下载

Android SurfaceFlinger——图形内存分配器(十一)

前面的文章中的图层合成器(HWC),这里我们接着看一下 SurfaceFlinger 中的另一个重要服务——图形内存分配器。 一、简介         android.hardware.graphics.allocator@2.0 是 Android 系统中硬件抽象层(HAL)的一个组件,专门用于图形内存的分配和管理。它是 SurfaceFlinger 在处理图形数据时所依赖的

设置android返回键,保存和取得最高分

1.在.h中声明一些方法 virtual void keyBackClicked();           //Android返回键 bool isHaveSaveFile(); void getHighestHistoryScore(); 在.cpp中实现这个几个方法 void WelcomeLayer::keyBackClicked(