Google Pixel4手机刷机+Root+逆向环境详细教程

Google Pixel4手机刷机+Root+逆向环境配置详细教程

刷机工具下载

Windows10、Google Pixel4手机当前安卓10系统、adb工具、要刷的谷歌原生的Android11最新刷机包、安装google usb驱动、美版临时twrp-3.6.0_11-0-flame.img和美版永久twrp-installer-3.6.0_11-0-flame.zip、Magisk-v27.0.zip、LSPosed-v1.8.6-6712-zygisk-release.zip

美/欧版判断

Google Pixel 4手机在美版和欧版之间通常有一些区别,其中一个重要的区别就是监管标签。这些标签可通过点击手机的Settings(设置) → System(系统) → About phone(关于手机) → Regulatory labels(监管标签) 来查看,可以帮助区分手机是针对美国市场还是欧洲市场。但要注意,实际的监管标签可能会因地区而异,以下是一些可能的区别:

  1. FCC标签(美版):美国版本的Pixel 4手机通常会在包装盒上附有美国联邦通信委员会(FCC)的认证标签。这些标签包含FCC ID号码和其他必要的监管信息,用于在美国销售的设备。
  2. CE标签(欧版):欧洲版本的Pixel 4手机通常会在包装盒上附有CE认证标签。CE标签表示该设备符合欧盟的技术规范和法规,允许其在欧洲市场销售和使用。
  3. 其他地区的标签:除了FCC和CE标签之外,其他地区的Pixel 4手机可能会有不同的监管标签,具体取决于当地的监管要求。

要确定您的Pixel 4手机是美版还是欧版,您可以检查监管标签上显示的内容即可!此设备监管标签如下图所示:

在这里插入图片描述

解锁Bootloader

注意:解锁 Bootloader 重置设备数据,请注意备份。请务必退出你的Google账号和取消指纹识别及锁屏设置。刷机前最好对手机做双清或恢复出厂设置。

安装「科学上网」工具,并成功接入互联网,不然后续的「OEM解锁」选项应该会显示为灰色,无法点击。

在这里插入图片描述

选择「设置→系统→关于手机→版本号」,戳「版本号」7次开启 「开发者选项」,开启后会提示[您已处于开发者模式,无需进行此操作。]

在这里插入图片描述

返回「上一页」,进入「系统→高级 →开发者选项」开启「USB调试」和「OEM解锁」两个选项。

如果「OEM解锁」选项显示为灰色,请检查网络连接是否正常;如果为灰色且显示OEM 解锁 引导加载程序已解锁可直接跳到后续的判断是否解锁成功的过程即可!

在这里插入图片描述

通过数据线将手机连接至电脑,此时,手机端会弹出 USB 调试申请,点击「允许」。

在这里插入图片描述

配置相关adb环境变量,网上可以直接搜索配置,完成后可通过命令 adb devices 来验证是否允许adb调试:

C:\Users\Administrator>adb devices
List of devices attached
99xxxxxAZ001RD  device

进入Bootloader模式

进入bootloader默认有两种方式:第一种是通过在关机状态下同时按住「按住电源键+音量减键」;第二种是通过「ADB命令」进入。

这里我采用「adb命令」来操作。回到命令提示符窗口,键入 adb reboot bootloader 并回车,手机会立即重启至 Bootloader 模式。

C:\Users\Administrator>adb reboot bootloader

之后,通过 fastboot devices 命令验证 fastboot 是否成功:

C:\Users\Administrator>fastboot devices
99xxxxxAZ001RD   fastboot

解锁Bootloader

上一步进入Bootloader页面后,手机界面应该是如下图:

在这里插入图片描述

在命令提示符窗口键入 fastboot flashing unlock 并回车,手机进入 Bootloader 解锁界面。

C:\Users\Administrator>fastboot flashing unlock

OKAY [ 0.049s]
finished. total time: 0.049s

在这里插入图片描述

对于 Pixel 4 机型,要用如下的命令:

fastboot flashing unlock

详情查看:Factory Images for Nexus and Pixel Devices | Google APIs for Android | Google Developers

在 Bootloader 解锁界面中,使用音量键 +/- 来控制光标,选择「Yes」并按下电源键来进行 Bootloader 解锁。

确认完毕后,稍作等待。通过 fastboot reboot 命令重启手机:

C:\Users\Administrator>fastboot reboot
rebooting…

finished. total time: 0.050s

稍等片刻之后,你的设备会自动重启。

判断是否解锁成功

当手机重启时出现黑底白字的英文警告页以及屏幕下方出现一把打开的小锁,那 Bootloader 就解锁成功啦!重启手机,出现如下两个界面就算解锁成功:

在这里插入图片描述

当然,还有一种更简单的方法,就是再次进入 fastboot 模式,查看:

在这里插入图片描述

解锁Bootloader后的两个问题

恢复初始

在解锁 Bootloader 之后,可以看到手机系统已经是完全初始化的状态了,如下图所示:

在这里插入图片描述

在进入 「关于手机」 界面后,可以发现之前开启的「开发者选项」也是默认关闭了,需要再次点击7次「版本号」开启。

在这里插入图片描述

那么,在执行后面的操作时是否仍需要再次将「OEM解锁」打开呢?答案是:不需要

然而,因为后面需要用到 adb 命令去操作手机,所以「USB调试」选项还是需要打开的。

关于「OEM锁与bootloader锁的关系」,可以看下面的 疑难解答 。


错误提示

成功解锁Bootloader后,每次手机启动或重启时,都会出现黑底白字的英文警告页,提示 “Your device software can’t be checked for corruption. Please lock the bootloader”。这没有什么可担心的,这是正常的! 这仅仅是提示你 Bootloader 被解锁了,直接忽视即可!

安装驱动及刷机

工具下载中下载谷歌原生的Android11最新刷机包:flame-rq3a.211001.001-factory-2e1faa99.zip或其它版本你想刷的安卓系统包,将flame-rq3a.211001.001-factory-2e1faa99.zip文件解压到当前文件夹,进入解压后的文件夹并将image-flame-rq3a.211001.001.zip文件再解压到当前文件夹中,最后解压效果,如下图所示:

在这里插入图片描述

使用如下命令让手机进入bootloader,运行 flash-all.bat 等待安装

adb reboot bootloaderD:\shuaji\flame-rq3a.211001.001>flash-all.bat

如报异常< waiting for any device >,是USB驱动问题导致,需要安装google usb驱动。

安装USB驱动的步骤:

将手机通过usb连接电脑,打开电脑的设备管理器,找到你的手机,右键,选择更新驱动程序,选择浏览我的电脑以查找驱动程序,点击浏览,选择下载好的谷歌usb驱动解压后的文件夹usb_driver点击确定,点击下一步,最后,关闭设备管理器即可!

在这里插入图片描述

这样运行 flash-all.bat 后,手机就开始自动刷机了,过程中会出现下图及重启(不用理会),就等刷机完成,提示Press any key to exit...即可!

在这里插入图片描述

开机后需要对手机进行配置及再次开启USB调试,将手机和电脑USB连接等等,确保没问题后,继续往下操作。

刷入Recovery:TWRP及Root

由于Pixel 4系列都采用A/B升级系统,因而可以理解为手机里有2个系统,如果你按照传统刷入Twrp的方法刷入的话,那么你并不会获得一个永久的Twrp。所以需要先刷入一个临时的Twrp,在通过临时的Twrp来刷入永久的Twrp从而来获取Root权限。

下载软件并push到手机

工具下载中下载临时的Twrp永久TwrpMagisk三个文件。首先,前往 TWRP 官网 Devices 下载最新版 TWRP 压缩包(.zip)和临时 TWRP 镜像文件(.img)。我的Pixel4对应选择从这个页面 Download TWRP for flame 下载的 twrp-3.6.0_11-0-flame.img 版本:

twrp-3.6.0_11-0-flame.img(临时twrp)
twrp-installer-3.6.0_11-0-flame.zip(永久twrp)

在这里插入图片描述

从github Releases · topjohnwu/Magisk 下载最新的 Magisk 包。 这里我下载的是 27.0 版本:

在这里插入图片描述

通过Adb将文件push到手机,连接手机,在手机端弹出「USB调试」点击确定,我将下载的文件都放在了shuaji文件夹下,直接使用命令:

adb push twrp-3.6.0_11-0-flame.img /sdcard/Download/
adb push twrp-installer-3.6.0_11-0-flame.zip /sdcard/Download/
adb push Magisk-v27.0.zip /sdcard/Download/C:\Users\Administrator\Desktop\shuaji>adb push twrp-3.6.0_11-0-flame.img /sdcard/Download/
twrp-3.6.0_11-0-flame.img: 1 file pushed, 0 skipped. 45.0 MB/s (67108864 bytes in 1.423s)C:\Users\Administrator\Desktop\shuaji>adb push twrp-installer-3.6.0_11-0-flame.zip /sdcard/Download/
twrp-installer-3.6.0_11-0-flame.zip: 1 file pushed, 0 skipped. 50.0 MB/s (30531523 bytes in 0.582s)C:\Users\Administrator\Desktop\shuaji>adb push Magisk-v27.0.zip /sdcard/Download/
Magisk-v27.0.zip: 1 file pushed, 0 skipped. 80.7 MB/s (12498796 bytes in 0.148s)

然后cd进入到手机的/sdcard/Download/下,用ls命令查看文件即可!

C:\Users\Administrator\Desktop\shuaji>adb shell
flame:/ $ cd /sdcard/Download/
flame:/sdcard/Download $ ls
Magisk-v27.0.zip  twrp-3.6.0_11-0-flame.img  twrp-installer-3.6.0_11-0-flame.zip

刷入临时Twrp

进入Bootloader

执行命令 adb reboot bootloader

C:\Users\Administrator\Desktop\shuaji>adb reboot bootloader
刷入临时Twrp

执行命令 fastboot boot twrp-3.6.0_11-0-flame.img 来启动临时Twrp:

C:\Users\Administrator\Desktop\shuaji>fastboot boot twrp-3.6.0_11-0-flame.img
Sending 'boot.img' (65536 KB)                      OKAY [  1.509s]
Booting                                            OKAY [  6.097s]
Finished. Total time: 7.645s

之后,手机会自动进入到临时的Twrp中,滑动下面的 Swipe to Allow Modifications 滑条,进入Twrp操作页面 (图片是之前刷机的图懒的换了,真实用的版本为:3.6.0_11-0) :

在这里插入图片描述

刷入永久Twrp

选择 Install – 找到目录 /sdcard/Download/ – 选择 twrp-installer-3.6.0_11-0-flame.zip 文件 – 弹出安装界面 – 直接滑动底部的滑条 Swipe to confirm Flash 安装:

这里也间接验证了为什么要选择 /sdcard 目录:点击 Install 按钮后,直接进入的就是 /sdcard 目录,即只能操作这个目录。

在这里插入图片描述

等待进度条执行完毕,最后会显示 ...done 的提示。说明这一步执行完成。

在这里插入图片描述

刷入Root及面具

上一步安装完成后,我们发现界面中只有两个按钮:Wipe cache/dalvikReboot System 。后一项肯定不能选,如果选择重启,那还有一个 Magisk-v27.0.zip 文件没有刷入,否则的话还需要走一遍上面的 刷入临时Twrp 的操作;而第一项 清除临时缓存文件,只是我不清楚该文件具体是干什么用的,所以也怕点了之后会出问题。所以可点击顶部的 “蓝色条” 左上角部分,返回到Twrp主界面:

在这里插入图片描述

依照上面的安装步骤,继续继续点击Install,安装 Magisk-v27.0.zip 文件。直到界面中提示 ...done 时证明已完成,点击Reboot→System,如下图所示:

在这里插入图片描述

安装完成后,点击下面的 Reboot System 按钮,重启系统。不过,这时候发现界面会提示询问是否安装 TWRP App ?这里,千万不要安装。直接点击中间的 Do Not Install 即可。待手机重启进入系统后,可以发现手机APP中多了一个 Magisk 的脸谱Logo图标,如果点击让下载就把Magisk-v27.0.zip 后缀改为.apk直接安装即可。

在这里插入图片描述

启动Magisk后提示需要重新安装重新安装才可以使用Magisk(先不用理会),我们点击右上角设置→Zygisk 开启,然后重启手机。再次进入Magisk提示需要重新安装重新安装才可以使用Magisk,点击安装→选择直接安装(推荐)→开始。等待完成后,再次重启手机即可!

在这里插入图片描述

安装LSPosed及其它模块

先将LSPosed-v1.8.6-6712-zygisk-release.zip push到手机中, 然后到Magisk的模块界面从本地安装,安装完成后重启手机即可!如下图所示:

在这里插入图片描述

至此基本已全部结束!

疑难解答

两个解锁Bootloader的命令

fastboot oem unlock or fastboot flashing unlock

在网上搜索到的一些教程中,有的说是使用 fastboot oem unlock 来解BL,有的说是通过 fastboot flashing unlock 来解BL。

最终在google的官网中,我找到了如下的介绍:

If necessary, unlock the device’s bootloader using one of the following methods:
If you are updating a Nexus or Pixel device that is manufactured in 2015 or later (for example, a Nexus 5X, Nexus 6P, Pixel, Pixel XL, Pixel 2 or Pixel 2 XL device), run this command:
fastboot flashing unlock
If you are updating an older device, run this command:
fastboot oem unlock

如有必要,请使用以下方法之一解锁设备的引导加载程序:
如果您要更新 2015 年或之后生产的 Nexus 或 Pixel 设备(例如 Nexus 5X、Nexus 6P、Pixel、Pixel XL、Pixel 2 或 Pixel 2)
XL 设备),运行以下命令:
fastboot flashing unlock
如果您要更新旧设备,请运行以下命令:
fastboot oem unlock

更多介绍,请看: Factory Images for Nexus and Pixel Devices | Google APIs for Android | Google Developers


OEM锁与bootloader锁的关系

OEM锁是限制了bootloader锁,OEM锁系统默认是关闭的,必须在开发者中手动打开。之后 bootloader锁才能进行解锁。

通俗一点的说,OEM锁只跟bootloader锁有关系,和之后的Root操作没有关系。所以当解锁Bootloader后系统配置被重置了,即使 「开发者选项」中的 「OEM解锁」显示为灰色不能操作,也无关紧要了。

参考:关于解锁bootloader的重要性.机友们务必细读,生死问题,请勿忽视! - Pixel | Pixel XL 论坛 - 智友论坛


解锁bootloader的好处

  1. 最重要是为自己的手机买了份保险,留了条生路.卡死 系统抽风或变砖后,可在bootloader界面下线刷原厂镜像恢复系统。(不解锁的无法刷机救回)
  2. 作为亲儿子机型,XDA上很多资源,有大量第三方ROM、优化补丁、Recoovery、ROOT
  3. 解锁bootloader后,不ROOT和修改系统文件,不影响在线OTA升级。

解锁后 开机Google logo下有个小锁和两秒钟的警示语说你的手机已经解了bootloader锁,机友们可以无视之,不影响使用。

参考文章: Google Pixel解锁BL、刷入Twrp及Root折腾小记:https://www.itfanr.cc/2018/10/16/google-pixel-unlock-bl-and-root/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/681960.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Matlab-动画-附源码】3分钟教你用Matlab做一个Lorenz动画

lorenz-x-y-z Lorenz三个维度数据 在科研工作中&#xff0c;经常需要将数据可视化以便更好地理解和传达研究成果。 但大家主要放静态图片&#xff0c;而视频或动画通常比静态图片更具吸引力和表现力。AE, Manim太难学&#xff0c;Matlab就可以用来制作动画。 在这篇博客中&…

vue 代码样式问题

部分电脑存在样式错乱问题&#xff0c;部分电脑样式正常。最后发现是样式写在 el-col 里面导致的。 注意&#xff1a;写样式不要放在 el-row 或者 el-row &#xff0c;导致部分电脑会出现莫名其妙的样式问题 <el-row class"detail"><el-col class"it…

「 网络安全常用术语解读 」通用配置枚举CCE详解

1. 背景介绍 NIST提供了安全内容自动化协议&#xff08;Security Content Automation Protocol&#xff0c;SCAP&#xff09;为漏洞描述和评估提供一种通用语言。SCAP组件包括&#xff1a; 通用漏洞披露(Common Vulnerabilities and Exposures, CVE)&#xff1a;提供一个描述…

80端口被占用,解决办法

1.首先打开控制面板&#xff08;可以在左下角搜索&#xff09; 2. 点击程序 3.点击启用或关闭Windows功能 4. 关闭Internet Information Services 下图是关闭后的样子 5.点击确定&#xff0c;然后重启 这样就解决了80端口被占用的问题。

离开大厂创业一年,从未受过这么大的打击!

大家好&#xff0c;我是程序员鱼皮。时间过得真快呀&#xff0c;转眼间我从腾讯出来、自主创业竟然已经整整一年了&#xff01;上周末也带团队同学们搞了场公司周年庆团建。 我自己是一个很喜欢、也很注重复盘总结的人&#xff0c;这么重要的时间&#xff0c;当然要对过去的一…

linux基础命令第二篇

雷迪斯and the乡亲们 欢迎你们来到 奇幻的编程世界 8.history命令 作用&#xff1a;查看和控制历史命令纪录 保存位置&#xff1a;&#xff1a;~/.bash_history &#xff08;1&#xff09;在启动终端的时候&#xff0c;会自动从&#xff1a;~/.bash_history 中读取历史命令…

webrtc初步了解

WebRTC搭建点对点实时音视频对话&#xff0c;起始需要保证完成两点&#xff1a; 1.媒体协商&#xff0c;了解彼此支持的媒体格式。参与视频通讯的双方必须先交换SDP信息&#xff0c;交换SDP的过程。 2.网络协商&#xff0c;了解彼此的网络环境&#xff0c;找到一条相互通讯的链…

社媒营销中的截流获客是怎么一回事?

如果你要问&#xff0c;现在做社媒营销是通过哪些方式进行引流的&#xff0c;那么必然有一种是截流&#xff0c;顾名思义也就是分取别人的流量&#xff0c;方法其实很简单&#xff0c;主要分为两种&#xff1a;&#xff08;1&#xff09;抓取别人的粉丝出来进行群发私信&#x…

【Java 刷题记录】前缀和

前缀和 25. 一维前缀和 示例1&#xff1a; 输入&#xff1a; 3 2 1 2 4 1 2 2 3输出&#xff1a; 3 6import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public static void main(String[] args) {Scanner in new Scanner(S…

RockChip Android13 添加/删除ListPreference方法

概述: 本章将讲述在Android添加或删除ListPreference的几种方法,并以EthernetSettingsActivity为例,添加/删除一项ListPreference: 默认效果图: 添加后效果图: 方法一: 1、全部添加xml 在Activity类中使用addPreferencesFromResource()方法解析XML文件并添加Prefere…

Linux 操作系统线程1

目录 一、线程 1.1线程的基本概念 1.2 线程相关的API函数 1.2.1 线程的创建 1.2.2 线程退出 1.2.3 线程等待函数 1.2.4 获取线程ID 1.2.5 线程取消 1.2.6 线程的清理函数 一、线程 1.1线程的基本概念 线程是属于进程&#xff1b;一个进程可以有多个线程&#xff…

动手学机器学习15 实战kaggle比赛

动手学机器学习15 实战kaggle比赛 1. 实战kaggle比赛&#xff1a;预测房价代码结果 2. 课程竞赛&#xff1a;加州2020年房价预测3. QA4. 用到的代码1. hashlib.sha1()2. sha1.update(data)3. train_data.iloc4. fillna(0)5. pd.get_dummies(&#xff09;6. nn.MSELoss()7. torc…