zoukankan      html  css  js  c++  java
  • Android 四:区分刷机与root

    一、

    刷机:相当于换掉整个手机系统。

    root:相当于电脑Windows系统中的Administrator,即超级管理员。ROOT是系统中唯一的超级用户,就是手机的神经中枢,它可以访问和修改你手机几乎所有的文件,如启动或停止一个进程,删除或增加用户,增加或者禁用硬件等等。简单地说,只要你的手机Root权限获取成功,就能对手机进行任意操作。

    所以刷机不等于root!!!

    二、

    刷机过程会涉及到一下内容:bootloader,fastboot,recovery

    bootloader:手机加电时,第一段执行的程序,即引导程序。通过bootloader可以刷入recovery,radio和hboot。解锁bootloader就是去掉fastboot指令里的校验模块

    fastboot模式:它是bootloader后期进入的一个特殊阶段。用来刷recovery和基带的

    recovery模式:相对于fastboot较上层。用来备份,恢复,重装系统的。

    1 Bootloader
    Bootloader是一个启动加载程序,负责系统硬件的初始化工作,也是刷机工作的第一道坎。大部分厂商采用了锁Bootloader的方式 来阻止用户刷机,用户如果想要刷第三方固件就必须对Bootloader进行解锁,由于Bootloader加密算法较为复杂,所以解锁就变成了一件困难 事,部分厂商因用户不满最终妥协,提供了官方的解锁途径,比如HTC和索尼爱立信,用户需要到官方网站进行申请然后解锁,但解锁后会失去保修,而另外一部分厂商则不提供解锁,那么解锁Bootloader就变成了一件很复杂的事,虽然有些黑客通过内外相勾结的方式破解了Bootloader算法,但没有破解是绝对完美的,也有很多朋友的手机在解锁时变成了转头。
    如何判断Bootloader解锁呢?当Bootloader解锁后,启动手机会出现开锁图标,或者再次进入Bootloader界面有Unlock标志,就证明Bootloader顺利解锁。
     
    2 fastboot
    fastboot 主要是用来与bootloader的USB通讯的PC命令行工具。他一般主要也用来向bootloader传送刷机文件进行文件分区重烧。 因此在使用时,必须有一个PC机并且USB线要始终联着。所以这种方式称为线刷。 用fastboot需要bootloader 支持,所以不是每一家公司产品都支的这个功能的。
     
    3Recovery
    Recovery是手机的工程模式,主要用来执行手机的复位和升级工作,大部分厂商都在手机中提供了进入Recovery的方法,所以用户可以在官方下载Update.zip升级包在Recovery下进行升级,这种方式也是我们俗称的卡刷,当然也有部分厂商不提供,比如中兴。 官方提供的Recovery一般来讲功能有限,而且尽可以进行Update升级包升级的操作,所以对于刷机的用户来讲官方的Recovery是没太大用 的,大家一般都会选择使用第三方的Recovery来代替官方的。对于Recovery的操作,每家厂商的机型都有所不同,但是都大同小异,手机上的物理 按键仅有几颗,所以Recovery的操作一般都是集中在开关机键、音量键或者确定键上

    三 安卓分区

    先说下Android的分区吧,不说清楚这个,下面都不好讲,Android一般都分这几个区:
    bootloader分区用来存储uboot,system分区存储Android,data分区用来存储用户数据,boot分区用来存储内核文件和ramdisk,recovery分区存储内核文件和recovery程序,其他还有misc和cache等等。当然各个公司会根据各自需求增加一些别的分区。
    启动过程是先由bootloader启动uboot,然后uboot启动内核,内核会根据init.rc里的指令mount system data等这些分区,mount好以后,Android就开始启动了。
    你应该注意到上面的分区里有两个分区都存有内核文件,就是boot和recovery,boot是正常启动流程会用到的内核文件,如果启动过程中发现有特殊按键,uboot就会读取recovery分区里的内核和ramdisk。这就是为什么你启动时按着某个组合键就会进入recovery程序。进入recovery模式以后,直接面对用户的是跑在内核上的recovery程序。这个时候除了recovery分区以外的其他分区你想写谁都可以了。recovery去读取rom文件,根据文件里的内容来更新系统,如果是img文件就直接dd到分区里,如果是文件夹就把文件里的东西copy到相应分区里(好像是这样)。更新完按正常启动过程重启机器就o了。

    内核文件在boot.img里的,boot.img是由内核文件和ramdisk.img组成的,刷在boot分区里。你如果打开一个rom文件,如果里面如果有boot.img,哪说明刷这个rom的时候它是要更新内核的。但一般第三方定制的rom是不会去动你的内核的,只刷system。所以你在里面找不到内核文件。如果你找不到system.img,那里面应该有一个叫system的文件夹吧。是img就dd到system分区,是文件夹就copy到system分区。
  • 相关阅读:
    Android用Gson解析JSON字符串
    使用PullToRefresh实现下拉刷新和上拉加载
    Android应用框架-Volley网络通信框架
    Android基本架构
    HWOJ-字符串的逆序
    剑指offer-第七章面试案例2(树中两个节点的公共祖先节点)
    剑指offer-第七章面试案例1(字符串转换为整型)
    剑指offer-第六章面试中的各项能力(不用加减乘除做加法)
    剑指offer-第六章面试中的各项能力(圆圈中剩下的最后数字)
    以《淘宝网》为例,描绘质量属性的六个常见属性场景
  • 原文地址:https://www.cnblogs.com/happyliuyi/p/5166009.html
Copyright © 2011-2022 走看看