Android 刷机/Root/安装Xposed
目录
- 0x01 启动模式(Boot Modes)
- 1.1 Bootloader
- 1.2 Fastboot Mode
- 1.3 Recovery Mode
- 1.4 Normal Mode
- 1.5 Safe Mode
- 1.6 Diagnostic Mode
- 0x02 Bootloader解锁
- 0x03 恢复出厂设置(Factory Reset)
- 0x04 原生镜像刷机
- 0x05 安装TWRP
- 0x06 使用 Migisk 实现 Root
- 0x06 安装Xposed
- 0x07 NOTE
Android 11 正式版发布了,刷了个新系统体验下,顺便把刷机、root、安装 Xposed 这些过程整理下
整体流程是参考Android Explained的系列文章:https://www.androidexplained.com/google/pixel-2/
0x01 启动模式(Boot Modes)
Android系统相对开源,允许用户对设备进行自定义修改,对应不同的功能和权限,提供了一系列启动模式允许用户不同程度地访问设备的各个空间,包括一般启动模式(normal mode)、安全模式(safe mode)、恢复模式(recovery mode)、引导模式(bootloader mode)、快速启动模式(fastboot mode)和诊断模式(diagnostic mode)。
1.1 Bootloader
Bootloader,听名字猜测,也可以大概知道这是一个跟系统启动相关的程序。
当一个设备开机时,系统就会上电,此时硬件电路会产生一个确定的复位时序,接着 CPU 被复位,从某个内存地址开始执行指令。第一条指令的地址是一个固定值,由 CPU 制造商指定,而从这块地址开始保存的这段程序就是 Bootloader,也即引导程序。
所谓引导程序,即在操作系统运行之前,一个类似 PC 里面 BIOS 的程序,来完成整个系统的加载与启动,包括硬件设备初始化、内核文件加载、内存空间映像等操作,这些就是Bootloader 的工作,他会将系统的软硬件环境带到一个合适的状态,为运行操作系统做好准备。由于不同厂商的硬件差异,他们的引导流程也不尽相同。
事实上,除了完成这些初始化,Bootloader 还会去检测一些特殊事件,比如特殊按键组合,进入其他的一些工作模式,如 Fastboot 。
开启方式:上电自动进入 Bootloader
1.2 Fastboot Mode
Fastboot 是 Bootloader 启动后进入的一个特殊阶段,通过数据线连接 PC,通过在 PC 上执行一系列命令操作设备,其中最主要的就是向不同系统分区写入文件,即通常所说的刷机,而且还属于刷机中的线刷
(还有一种刷机方式是卡刷,区别在于线刷直接通过数据线向硬盘写入镜像文件,卡刷则需要借助 Recovery 模式从SD卡中获取镜像文件进行烧写)
这些操作都是通过 fastboot
这个命令来实现的,有点类似 adb 的通信方式
# 刷入分区
fastboot flash [boot/system/recovery] [boot.img/system.img/recovery.img]
# 刷入所有分区,即查找所有image文件并烧写到对应分区
fastboot flashall# 擦除分区,恢复系统设置,注意不要乱擦系统分区
fastboot erase [frp]# 上锁/解锁
fastboot flashing lock/unlock# 格式化
fastboot format data# 发现设备
fastboot devices# 继续启动/重新启动/重启到bootloader
fastboot continue
fastboot reboot
fastboot reboot-bootloader
开启方式:关机状态下长按电源键+音量减键
或者开机状态开发者模式下输入
adb reboot bootloader
注意:
1、解锁 Bootloader 时可能会导致保修相关服务失效;
2、解锁 Bootloader 时可能会导致设备恢复出厂设置,进行相关操作前最好将重要资料进行备份;
3、解锁 Bootloader 可能会导致设备变得不可用。
1.3 Recovery Mode
恢复模式,本质上是一个简单的 Linux 内核搭配一个 Google 开发的图形界面,也可以理解成额外的一个小型操作系统,允许用户使用较高的操作权限对设备执行有限的管理,尤其是设备内核出问题时,使用 Recovery 模式重新下载内核执行修复。
在 Recovery 模式下,可以对 data/cache 分区进行擦除甚至执行恢复出厂设置,也可以执行备份;另外,Recovery 模式下可以直接加载 sdcard 中的文件刷新映像进行 OTA install(卡刷),因此也是为开发者升级系统提供了更加方便的方法,这种情况下的 Recovery 刷机包称为 Google Update 格式。
由于 Recovery 功能比较单一,可以直接使用 Google 原生的,也可以使用界面更友好的第三方的 RE 包,如 TWRP。注意一般官方 Recovery 无法识别第三方zip文件,所以一般刷 Recovery 都会装成第三方。
开启方式:关机状态下长按电源键+音量减键进入Fastboot 模式,上下光标选择Recovery,电源键确认
或者开机状态开发者模式下输入
adb reboot recovery
1.4 Normal Mode
正常模式,也是一般启动模式,俗称开机。此模式下设备启动后即会进入 Android 系统,为用户提供正常的通用的功能。
开启方式:关机状态下长按电源键
1.5 Safe Mode
安全模式,此模式下类似正常启动,但是系统会严格限制第三方应用启动的模式,一般用于检查系统问题
开启方式:长按电源键出现菜单,长按菜单关机选项即可进入。
1.6 Diagnostic Mode
诊断模式,为了测试手机各项功能。
0x02 Bootloader解锁
先解释下OEM锁。OEM(Original Equipment Manufacturer)锁是原始设备厂商为了防止用户刷入非本厂商的第三方系统而设置的锁。是解锁 Bootloader 的前置条件。
开启方式:进入开发者模式,打开OEM解锁
再解释 Android 的 Bootloader 锁,默认处于锁定状态,而且基本上目前的 Android 设备都会对 Bootloader 加锁,防止用户在系统分区安装自定义软件、甚至私自刷机导致系统不稳定,但是有些厂商也提供了相应的解锁功能
解锁:
打开开发者模式,先解锁 OEM,然后 adb reboot bootloader
进入 Fastboot 模式,命令行输入 fastboot flashing unlock
解锁
上锁:
adb reboot bootloader
进入 Fastboot 模式,命令行输入 fastboot flashing lock
上锁
说明:
1、OEM 锁是决定是否能进行 bootloader 解锁操作,直接在开发者模式中就可以开启关闭;bootloader 锁决定能否够修改系统分区,需要使用 fastboot 命令开启关闭,在 Fastboot 模式下 Device State
可以查看当前设备的 bootloader 锁定状态;
2、bootloader 解锁后,才可以修改 recovery/system 分区的数据;完成分区的修改操作后,尽量锁上 bootloader 避免破坏设备启动和恢复程序
0x03 恢复出厂设置(Factory Reset)
恢复出厂设置有两种方式,一种直接使用系统的恢复出厂设置
设置-系统-重制选项-清除所有数据(恢复出厂设置)
另一种是通过恢复模式
进入 Recovery 模式,音量键选择 Wipe Data/Factory Reset
选项,按电源键确认
0x04 原生镜像刷机
当系统出现问题,或者进行系统降级,或者就是单纯想换一个系统而不想通过官方更新渠道时,就可以通过 Fastboot 模式进行刷机,这里以 Google Pixel 2 为例,刷入原生镜像(Stock Android)
首先针对自己的手机型号和想要安装的系统版本,到Google 官方下载原生系统镜像,这里会有不同的手机设备和支持的不同版本镜像,如下面是针对 Pixel 2 设备的型号为 OPD1.170816.010 的 Android 8.0.0 系统镜像
点击Link下载并验证哈希,解压缩后得到几个镜像和脚本文件
设备进入 Fastboot 模式下,直接运行./flash-all.sh
脚本,等待刷机完成即可
0x05 安装TWRP
当然也可以使用 Google 官方的 RE,但是为了刷入第三方zip包我们选择安装 TWRP,官网地址为 https://dl.twrp.me
安装步骤参考:
针对自己的手机型号下载最新版 TWRP 镜像和压缩文件,分别命名为 twrp.img 和 twrp.zip,这里我下载的就是TWRP for walleye,版本是3.3.0-0;
使用
adb push
将 twrp.zip 推送到手机的内部存储,就放在sdcard根目录下就可以了;命令行输入
adb reboot bootloader
进入 Fastboot 模式,命令行输入fastboot boot twrp.img
刷入 twrp.img 镜像;等待 TWRP 启动,就可以进入第三方的 Recovery 模式了,这时候,找到之前推进去的 twrp.zip 文件并安装;
等待 TWRP 安装到 slot A 和 slot B,重启手机即可
0x06 使用 Migisk 实现 Root
首先还是解释下root。root是指通过内核的一些漏洞获得设备的最高权限,是在操作系统层面能够执行更多的行为。
跟bootloader区别的是,root可以修改 system 分区的数据,但是还是不能修改 boot 和 recovery 的数据,这部分由 bootloader 锁控制。
我们通过面具这个应用来获取root权限,官网为 Magisk,安装步骤参考:
- 下载最新版 Magisk 压缩文件和应用,后面压缩文件需要刷入设备中,应用会直接安装到手机上;
- 使用
adb push
将 Magisk-v20.1.zip 推送到手机内部存储,还是放在sdcard根目录下; - 命令行输入
adb reboot recovery
进入 Recovery 模式,找到推进去的 Magisk-v20.1.zip 文件并安装; - 等待 Magisk 压缩包安装完毕,重启手机即可;
- 使用
adb install
命令安装 MagiskManager-v7.0.0.apk,通过这个应用可以实现相关功能的管理; - 设备上的其他应用或者 shell 申请 root 权限时,手机界面就会弹窗是否允许获取root权限,选择同意就可以了,另外也可以在 Magisk 内部进行 root 权限的授予和取消
0x06 安装Xposed
Xposed 是一个功能非常强大的 hook 框架,可以通过实现插件来自定义一些功能,其他的就不介绍了,网上有特别多资料和教程,可以参考 Xposed 官网
有了 MagiskManager 就可以非常便捷的安装 Xposed 框架:直接在 MagiskManager 左侧下载选项,找到 Xposed 框架,点击安装即可
0x07 NOTE
刷机过程中遇到的几个问题,说明一下:
- 进入 Fastboot 模式后刷原生系统,
./flash-all.sh
执行失败,可能是 bootloader 锁没有解,使用fastboot flashing unlock
解锁,还不行可以试一下fastboot flashing unlock_critical
或者fastboot oem unlock
,再不行参考第6点; - 进入 Recovery 模式后装 twrp.zip 和 Magisk.zip 时,手机不要设置锁屏;
- 刷机后一直卡在 Recovery 界面,可能是系统没有刷成功,可以尝试 wipe 掉系统和缓存包里面的内容,再刷一次,注意重要数据提前备份;
- 用 Magisk 装 Xposed,开机 bootloop,有日志看到是 patchoat时
/system/framework/boot.art
头不对不能创建镜像空间,可能是系统问题,重刷了系统后再次安装成功; - MagiskManager 装好 Xposed 模块后,XposedInstaller 里面如果显示没有安装,应该是 XposedInstaller 的版本不一致,要从 Magisk 下载位置的链接里点进去下载对应的 XposedInstaller ,再安装就好了
- 【血泪教训】千万不要手贱关闭 OEM 锁然后进 Fastboot 模式然后又关掉 bootloader 锁!!!
现在我的 Pixel 2 就已经变砖卡死 Fastboot 模式:一上电就是 Fastboot!原生系统进不去!Recovery 进不去!OEM 锁解不了!bootloader 锁也解不了!什么镜像都刷不进去!
还在尝试寻找解决办法中…
我很绝望…
这也是为什么好多步骤都没有截图了…
我失去了一个很好的测试机…
还要赔手机…
如果有什么解决办法请告诉我…
跪谢…
Android 刷机/Root/安装Xposed相关推荐
- 新迅随身wifi助手刷机root安装面具安装debian折腾
安装随身wifi助手,用来开启adb等操作 2.安装9008驱动,vivo9008驱动 3.备份用miko,qualcommpremium,星海 4.安装ardc图形化桌面 5.安装桌面,面具 6.用 ...
- OnePlus6 刷机+root + 安装busybox教程
准备工作: 1.下载trwp 第三方recovery工具包 2. 下载第三方rom 百度网盘地址 密码: y5e4 3. 下载Magisk root工具 4 下载busybox 字节码文件 进行刷机 ...
- 360手机刷机 360手机Xposed框架安装 360手机EdXposed、LSP 360手机xposed模块
360手机刷机 360手机Xposed框架安装 360手机EdXposed.LSP 360手机xposed模块 参考:360手机-360刷机360刷机包twrp.root 360刷机包360手机刷机: ...
- 魅蓝e android版本,魅蓝E怎么刷机 root权限获取教程详解
魅蓝E怎么刷机 root权限获取教程详解 来源:www.18183.com作者:雾里看海时间:2016-08-15 魅蓝E怎么刷机?这边有几个步骤,大家别遗漏了哦,下面小编具体给大家讲讲魅蓝E怎么刷机 ...
- 无人直播刷机包安装图文教程
无人直播刷机包安装教程 介绍:无人直播刷包安装教程(详细操作),分6步详细介绍抖音无人直播刷机步骤和详细操作教程.方法适用抖音无人直播,快手无人直播 步骤: 第1步:安装刷机驱动 第2步:打开刷机程序 ...
- 小米红米手机解锁刷机root权限
文章目录 小米手机解锁刷机root权限 解锁 刷Recovery 手机root 卡刷 SuperSU 的 .zip包刷入 卡刷 Magisk 的 .zip包刷入(推荐) 注意要点 adb命令 小米手机 ...
- 360手机刷机·LSPosed安装和使用教程
360手机刷机·LSPosed安装和使用教程 参考:360手机-360刷机360刷机包twrp.root 360刷机包360手机刷机:360os.top 备用:https://360rom.githu ...
- 360手机刷机·EdXposed安装和使用教程
360手机刷机·EdXposed安装和使用教程 参考:360手机-360刷机360刷机包twrp.root 360刷机包360手机刷机:360os.top 备用:https://360rom.gith ...
- 从零开始- Android刷机指南一
从零开始- Android刷机指南 2011年07月27日 第一章:开篇 版权说明: 以下各篇内容部分为原创,部分取材.编改于网络,其内容.包括后续操作提及的程序之版权,均归原作者所有,如有不妥之处, ...
最新文章
- 不允许对系统目录进行即席更新_还不懂Docker?一个故事安排的明明白白!
- Android --- 微信支付时出现错误:错误的签名,验签失败,return_code=FAIL
- 自适应/响应式网页设计
- 远程登录的几种方式对比
- {WP7/WP8·获取屏幕大小}
- 我的所有邮箱 My all E-mail
- 学习网站的闪卡暴露了美军核机密
- react-native ES5与ES6写法对照表
- android 8.0 iso6,微信8.0.6更新了什么?IOS系统微信8.0.6版本更新详情一览[多图]
- 176条DevOps人员常用的Linux命令速查表
- 动态规划之背包问题(优化版)
- 运维标书技术部分的编写
- qmh_confluence源码研究
- cαr怎么发音_【英语拼读发音规则】连读、略读、重读、断句、语调……
- ProxmoxVE6.2 VLAN配置
- MVC用filter做权限过滤
- Pandas读csv,xlsx,XLS文件,读代表名的文件
- oogle advertiser api开发概述——速率限制
- 针对X5新内核Blink以及google chrome主要字体主动放大问题
- 被称为“眼黄金”的叶黄素究竟是什么?叶黄素则能过滤蓝光
热门文章
- 【沃顿商学院学习笔记】公益创业——03确定市场细分Identify market segmentation
- 690. Employee Importance
- 软考网工-关于松弛时间的例题
- FeedBack使用手册
- Jmeter 4.0自带代理接口录制脚本
- DHCP snooping详解
- Ecshop文件结构,二次开发
- CocosCreator之KUOKUO带你做双摄像机-单独渲染UI
- URL解码:比照法的问题
- LayIM 3.9.1与ASP.NET SignalR实现Web聊天室快速入门(四)之ASP.NET SignalR核心功能介绍