Android 刷机过程中 Fastboot 和 Recovery 的作用是什么?

自己在知乎的一篇回答,,现在翻出来放到博客,希望可以解答更多人的疑惑,抑或有什么理解上的错误,也望网友指出~

今天恰好和同事讨论了下Fastboot。在我看来提问者首先应该了解Fastboot和Recovery在安卓系统中的扮演什么角色,我们再去讨论它们在刷机过程中的作用。

首先来说下Fastboot的功能吧,Fastboot一般由boot和loader两个模块组成,boot负责安卓设备上电后初始化一些最基本的参数,类似CPU时钟,寄存器初始化。而loader负责去引导系统,例如从Emmc上读多大空间到内存,然后CPU开始从内存某地址开始执行,其实安卓系统抑或Recovery模块也就是在这一步被加载的。

而Recovery实际上是一个mini的系统,对Fastboot中的loader而言,安卓系统和Recovery是同级别的,开机的时候,loader可以去加载他们中的任何一个,你可以理解Recovery是一个只具有恢复出厂和升级功能的系统,注意Fastboot我们一般不认为它是一个系统。但是它具有一些功能模块类似tftp等。

所以Android刷机的时候,使用Fastboot一般都是线刷,也就是PC上的刷机软件通过和Fastboot通讯,将PC上的刷机包通过Fastboot的桥梁作用,写入至安卓设备的EMMC,而Recovcey升级一般都是我们说的卡刷,它负责读取SD卡中的升级包去升级,其实在这一步我们就知道Recovery是支持文件系统的,它可以去读取SD卡中的文件,而Fastboot一般不具有这样的功能。

最后的最后,来回答提问者的问题

Android通过Fastboot刷机 >>> Fastboot的作用是开机后初始化硬件环境,实现最小系统,然后和PC上的刷机软件通讯,将PC上的刷机包写入至Emmc中,实现刷机。Recovery此时不起作用。

Android通过Recovery刷机 >>> Fastboot的作用是开机后初始化硬件环境,实现最小系统,然后引导Recovery启动,在Recovery中读取升级包数据,将升级包数据写至Emmc。这种方式,Fastboot和Recovery都起到各自的功能。

from:https://www.cnblogs.com/Onlyou/p/7979317.html

【转】Android系统中Fastboot和Recovery所扮演的角色。的更多相关文章

  1. Android系统中的6种模式

    Android系统中的6种模式 1:一般启动模式(normal mode):    功能是正常启动手机,方法为关机状态下按电源键启动. 2:安全模式(safe mode):    此模式和正常启动一样 ...

  2. [原创]Android系统中常用JAVA类源码浅析之HashMap

    由于是浅析,所以我只分析常用的接口,注意是Android系统中的JAVA类,可能和JDK的源码有区别. 首先从构造函数开始, /** * Min capacity (other than zero) ...

  3. Android系统中的广播(Broadcast)机制简要介绍和学习计划

    在Android系统中,广播(Broadcast)是在组件之间传播数据(Intent)的一种机制:这些组件甚至是可以位于不同的进程中,这样它就像Binder机制一样,起到进程间通信的作用:本文通过一个 ...

  4. Android系统中 setprop,getprop,watchprops命令的使用

    如:在frameworks/opt/net/ims/src/java/com/android/ims/ImsManager.java if (SystemProperties.get("pe ...

  5. 用adb pull命令从android系统中读取文件失败的原因及解决办法

    问题:使用adb pull命令从android系统中读取文件失败.显示:Permission denied   原因:是由于文件权限原因引起.       使用ls -l命令查看android系统中的 ...

  6. Android系统中的dp和px的转换

    android系统中DP和SP的转化:1.首先分析TypedValue.java 可以调用以下代码获得dp的值 TypedValue.applyDimension(TypedValue.COMPLEX ...

  7. Android系统中设置TextView的行间距(非行高)

    Android系统中TextView默认显示中文时会比较紧凑,不是很美观.为了让每行保持一定的行间距,可以设置属性android:lineSpacingExtra或android:lineSpacin ...

  8. android系统中如何通过程序打开某个AccessibilityService

    android系统中如何通过程序打开某个AccessibilityService(系统辅助服务)? 通常的做法是注册AccessibilityService(辅助服务)后跳转到设置启动服务页面引导用户 ...

  9. Android系统中是否开启定位及定位模式的判断

    1.关于Android系统中不同的定位模式 Android系统中包括3中定位模式:   使用GPS.WLAN和移动网络 使用WLAN和移动网络 仅使用GPS 截图 特点 同时使用GPS.WIFI及基站 ...

随机推荐

  1. SVN 报错 Can't install '*' from pristine store, because no checksum is recorded for this file

    SVN同步.cleanup都会出现下面的提示: svn: E155017: Can't install '*' from pristine store, because no checksum is ...

  2. 攻防世界WEB高手进阶之Zhuanxv

    1.一开始就是一个时钟界面 2.扫描目录发现/list 目录 打开是后台登陆,看了一下源码,也没发现什么,焦灼... 3.百度上搜了一波wp,发现原来在css里面藏了东西 后台的背景图片居然是这样读取 ...

  3. python内建模块发起HTTP(S)请求

    一.Python2 httplib 简介:httplib实现了HTTP和HTTPS的客户端协议,一般不直接使用,在python更高层的封装模块中(urllib,urllib2)使用了它的http实现. ...

  4. selenium+python自动化99-清空输入框clear()失效问题解决

    前言 在使用selenium做UI自动化的时候,发现有些弹出窗上的输入框,输入文本后,使用clear()方法无效. 这样会导致再次输入时,字符串不是清空后输入,而是跟着后面输入一长串,导致结果不准. ...

  5. 项目Alpha冲刺(团队)-第七天冲刺

    格式描述 课程名称:软件工程1916|W(福州大学) 作业要求:项目Alpha冲刺(团队) 团队名称:为了交项目干杯 作业目标:描述第七天冲刺的项目进展.问题困难.心得体会 队员姓名与学号 队员学号 ...

  6. What is the syntax for a for loop in TSQL?

    loop  报错 英 [luːp]  美 [lup]  口语练习 vi. 打环:翻筋斗 n. 环:圈:弯曲部分:翻筋斗 vt. 使成环:以环连结:使翻筋斗 syntax  报错 英 ['sɪntæks ...

  7. select2实现多选 并且回显

    html代码:<select name="ruleId" id="ruleId" class="required" onchange= ...

  8. c#中的多态学习总结

    c#的多台方法,大体上和c++的类似,但是有点区别的,我这里刚刚初学,因此把重点记录下. 多态是同一个行为具有多个不同表现形式或形态的能力. 多态性意味着有多重形式.在面向对象编程范式中,多态性往往表 ...

  9. Keil MDK5生成 .bin文件的简单教程(图文)

    以下参考https://blog.csdn.net/u014563989/article/details/51127519,同时自己实测. 1.按如图步骤做,主要是要找到fromelf.exe的路径: ...

  10. STM32 IAP程序 源码 和测试代码 有详细的中文注释

    http://bbs.21ic.com/forum.php?mod=viewthread&tid=588265&reltid=624002&pre_pos=2&ext= ...