【转】Android系统中Fastboot和Recovery所扮演的角色。
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所扮演的角色。的更多相关文章
- Android系统中的6种模式
Android系统中的6种模式 1:一般启动模式(normal mode): 功能是正常启动手机,方法为关机状态下按电源键启动. 2:安全模式(safe mode): 此模式和正常启动一样 ...
- [原创]Android系统中常用JAVA类源码浅析之HashMap
由于是浅析,所以我只分析常用的接口,注意是Android系统中的JAVA类,可能和JDK的源码有区别. 首先从构造函数开始, /** * Min capacity (other than zero) ...
- Android系统中的广播(Broadcast)机制简要介绍和学习计划
在Android系统中,广播(Broadcast)是在组件之间传播数据(Intent)的一种机制:这些组件甚至是可以位于不同的进程中,这样它就像Binder机制一样,起到进程间通信的作用:本文通过一个 ...
- Android系统中 setprop,getprop,watchprops命令的使用
如:在frameworks/opt/net/ims/src/java/com/android/ims/ImsManager.java if (SystemProperties.get("pe ...
- 用adb pull命令从android系统中读取文件失败的原因及解决办法
问题:使用adb pull命令从android系统中读取文件失败.显示:Permission denied 原因:是由于文件权限原因引起. 使用ls -l命令查看android系统中的 ...
- Android系统中的dp和px的转换
android系统中DP和SP的转化:1.首先分析TypedValue.java 可以调用以下代码获得dp的值 TypedValue.applyDimension(TypedValue.COMPLEX ...
- Android系统中设置TextView的行间距(非行高)
Android系统中TextView默认显示中文时会比较紧凑,不是很美观.为了让每行保持一定的行间距,可以设置属性android:lineSpacingExtra或android:lineSpacin ...
- android系统中如何通过程序打开某个AccessibilityService
android系统中如何通过程序打开某个AccessibilityService(系统辅助服务)? 通常的做法是注册AccessibilityService(辅助服务)后跳转到设置启动服务页面引导用户 ...
- Android系统中是否开启定位及定位模式的判断
1.关于Android系统中不同的定位模式 Android系统中包括3中定位模式: 使用GPS.WLAN和移动网络 使用WLAN和移动网络 仅使用GPS 截图 特点 同时使用GPS.WIFI及基站 ...
随机推荐
- EXPORT_SYMBOL
EXPORT_SYMBOL只出现在2.6内核中,在2.4内核默认的非static函数和变量都会自动导入到kernel 空间 作用 EXPORT_SYMBOL标签内定义的函数或者符号对全部内核代码公开, ...
- Sign in with apple
UI: https://developer.apple.com/design/human-interface-guidelines/sign-in-with-apple/overview/ 审核: h ...
- Postgresql 常用操作
表所有者一括变更 select 'alter table public.'|| tablename ||' owner to appuser;' from pg_tables where tableo ...
- php导出数据到csv
序言 php导出数据到csv是一种很常见的功能,且csv相比于excel文件有其一定的优势,首先csv对数据的行数没有限制,但是excel对数据的行数有一定的限制,因此,csv文件对于导出大量的数据来 ...
- Response响应相关
response是响应的对象 response.text # 返回的是字节,数据的原内容response.content # 返回的是字符串,默认是utf-8解码 import reques ...
- ITIL 4Foundation认证
2019年5月参加了ITIL 4Foundation培训和认证.最新的ITIL4版本中,结合了Lean.Agile和DevOps的思想.经过学习后,在思想上有很大的收货. 在此记录自己的成长.
- SpringBoot启动流程及其原理
Spring Boot.Spring MVC 和 Spring 有什么区别? 分别描述各自的特征: Spring 框架就像一个家族,有众多衍生产品例如 boot.security.jpa等等:但他们的 ...
- httprunner学习1-环境与登录接口案例
前言 HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试. 具有以下优点: 继承 Requests 的全部特性,轻松实 ...
- webpack脚手架增加版本号
1.product模式下,新增版本号: 1)common.js文件中,输出的文件路径要跟着变化 output: { filename: 'js/[name].js', path: path.resol ...
- 批量插入实体类转化DataTable
/// <summary> /// 根据实体类得到表结构 /// </summary> /// <param name="model">实体类& ...