前言
以下Google Pixel手机均指Pixel一代。
本文破解教程仅使用于pixel欧版(国际版),不使用于美版。
Google Pixel手机算是我用过最流畅的android手机了,虽然在国内Google相关服务体验被墙,但是只要“科学上网”一切就变得完美。官方说明中手机网络只支持移动联通4G,不支持电信4G,但是硬件是支持的,只是软件被限制,所以需要我们手动破解。
欧版判断
点击Settings->System->About phone->Regulatory labels查看。
MODEL:G-2PW4200就为欧版。4100为美版。
BL解锁
参考文章 http://bbs.gfan.com/android-8404948-1-1.html
现在从淘宝买回来的翻新机一般都自带BL解锁。
刷入Factory镜像[7.1.1]
需要先下载pixel android 7.1.1的官方原场镜像。
原厂镜像(v7.1.1)地址: https://dl.google.com/dl/android/aosp/sailfish-nof27b-factory-5a8a6e11.zip
这个zip包的md5值为:cf59520c37e72147f2830a6e34d0769b
md5sum sailfish-nof27b-factory-5a8a6e11.zip
下载成功后进行解压,解压后如下所示:
bootloader-sailfish-8996-012001-1701181700.img
flash-all.bat
flash-all.sh
flash-base.sh
image-sailfish-nof27b.zip
radio-sailfish-8996-012511-1611190200.img
正常的情况下:
- 在终端中输入 adb reboot bootloader 重启手机进入fastboot模式。
- 在终端中输入 ./flash-all.sh 刷入镜像。
- 镜像刷入成功后会自动重启手机,如果没有自动重起则输入 fastboot reboot 命令重启。
- 建议在执行第2点前先格式化整个手机。命令 fastboot -w
如果当前手机的android版本高于7.1.1我们就必须要先格式化手机。如果我们不格式化手机就会在执行“./flash-all.sh”命令后卡在“Checking version-bootloader ......”这里。格式化命令如上面第4点所示。
整个镜像输入完成后重启手机观察是否能够正常启动。如果能够正常启动则进入开发者选项,打开手机调试模式,进入下一个步骤。
开启手机调试模式步骤:
Settings -> About phone ->Build number(快速点击)
Settings的首页就会显示Developer options,进入打开USB debugging。
刷入修改版Factory镜像[7.1.1]
上一个步骤成功后则当前的手机是没有root权限的,factory镜像是不带root权限,需要我们自己进行破解。
修改版镜像下载地址:
链接: https://pan.baidu.com/s/1AQKRYvVtG7pTkEhzBWbq1g 密码: 4twv
这个zip下载成功以后 不需要 进行解压
执行adb命令进入fastboot模式,输入下面的命令:
fastboot -w update image-sailfish-nof27b_root.zip
输入成功后重启手机,观察是否能够正常启动。手机启动起来以后如果弹窗提示你什么未知错误,忽略不计即可。
这步的目的是需要手机获取root权限,所以我们需要进行验证。输入adb root命令查看是否能够执行成功。如果能够执行成功则代表root成功。
刷入android 8.1基带&modem
上一个步骤成功以后我们当前的手机就有root权限了,此时我们需要刷入最新版android rom的基带和modem镜像。最新版的android rom可以去google的官方网站下载下来。
https://developers.google.com/android/images#sailfish
我自己使用的是在2018年5月份更新的android 8.1:
理论上我们可以下载最近时间的pixel factory镜像。
下载成功后解压这个zip包,包含的内容如下所示:
bootloader-sailfish-8996-012001-1711291800.img
flash-all.bat
flash-all.sh
flash-base.sh
image-sailfish-opm4.171019.016.b1.zip
radio-sailfish-8996-130091-1802061512.img
我们还要将image-sailfish-opm4.171019.016.b1.zip这个zip进行解压,获取其中的modem.img文件。
现在我们执行adb命令进入到fastboot模式,依次刷入下面这两个文件,注意只需要刷入下面这两个文件:
- radio-sailfish-8996-130091-1802061512.img
- modem.img
#刷完后需要查看Baseband这行的值是否已将改变
fastboot flash radio [your radio file]
fastboot reboot-bootloader
fastboot flash modem [your modem file]
fastboot reboot-bootloader
#modem刷入成功后只要有类似下面的输出即可
#Sending 'modem_a' (57132 KB) OKAY [ 1.484s]
#Writing 'modem_a' OKAY [ 0.498s]
#Finished. Total time: 2.138s
输入成功以后重启手机查看是否能够正常开机。如果能够正常开机,那么我们当前的手机就是android 7.1.1的版本加上android 8.1的基带。
替换carrier_policy.xml
这个步骤需要在微软windows操作系统下进行操作。 我们需要在windows上安装高通QPST这个软件。下载地址:
链接: https://pan.baidu.com/s/1GO0gIDEFKOeqrWxB6J2acg 密码: uifd
安装好这个软件以后先不打开运行,我们先要将上个步骤完成后的手机利用USB线链接到电脑。打开手机的USB调试模式然后链接,此时电脑应该会提示我们我们需要手机的驱动软件。我们可以下载一个驱动精灵来进行手机端口的驱动安装。
当前手机端口的驱动程序安装好以后,在windows上cmd窗口执行一下adb命令:
adb devices //查看我们的手机是否链接
adb root //adb请求当前手机的root权限
adb shell setprop sys.usb.config diag,adb //这句话是打开QPST软件使用到的端口
上面三行adb命令执行成功以后打开QPST EST Explorer软件,选择我们的pixel手机进行链接。
等待软件读取手机相关信息,等待的时间在2分钟左右。读取成功以后会在软件中生成一个目录树列表,然后我们找到policyman这个目录,删除掉已有的carrier_policy.xml这个文件。
然后下载下面这个carrier_policy.xml文件并进行替换。
https://pan.baidu.com/s/1j4iwo8JvxKgo1rEWiZubpQ
替换成功以后重启手机,再次打开QPST EST Explorer软件查看carrier_policy.xml文件是否成功进行了替换。正常情况下一次就替换成功,但是不排除失败的情况,所以我们需要进行验证。
备份modemst
在上面步骤成功的前提下备份modemst。以下是相关命令:
adb devices
adb root
adb shell //此时进入到了手机中
//下面这两条命令在android shell中执行
dd if=/dev/block/platform/soc/624000.ufshc/by-name/modemst1 of=/sdcard/modemst1.img
dd if=/dev/block/platform/soc/624000.ufshc/by-name/modemst2 of=/sdcard/modemst2.img
exit //退出adb shell
//将生成的modemst保存在电脑上
adb pull /sdcard/modemst1.img /your/save/dir/path
adb pull /sdcard/modemst2.img /your/save/dir/path
备份modemst的原因是pixel手机在重启了几次后会存在丢失modem相关数据的情况,我们需要进行还原修改过的modemst。
刷入android 8.1.0
现在最后我们要做的就是将上面刷入android 8.1基带&modem这个步骤中剩余的文件刷入到我们的手机中,将手机中7.1.0版本升级到8.1.0。
将image-sailfish-opm4.171019.016.b1.zip这个zip文件中的modem.img删除掉然后将剩余解压出来的文件再压缩成一个压缩包。
#-r代表是递归压缩包含子文件夹
#当前目录下生成.zip这个文件夹
#./image-sailfish-opm4.171019.016.b1_modify.zip
#./* 压缩当前目录下的所有文件
zip -r ./image-sailfish-opm4.171019.016.b1_modify.zip ./*
进入到我们下载的android 8.1.0 factory镜像目录下再次刷机,执行下面命令:
adb devices
adb root
adb reboot bootloader
fastboot device
fastboot flash bootloader bootloader-sailfish-8996-012001-1711291800.img
fastboot reboot-bootloader
//这是我们重新修改过的zip
fastboot update image-sailfish-opm4.171019.016.b1_modify.zip
刷入完成以后重启手机。此时会启动失败,我们根据手机提示进行factory data reset就可以了。
正常重启以后我们插入电信卡就可以使用了。但是经过我的测试发现再重启一次手机又不能识别电信网络,所以要还原一下modemst。
以下为还原modemst的命令:
adb reboot fastboot
fastboot devices
fastboot flash modemst1 modemst1.img
fastboot flash modemst2 modemst2.img
还原后重启手机就可以正常使用电信卡了。如果在以后的使用中又不能使用电信网络,再还原一下modemst就好了。
问题记录
1.在刷入.zip包时有时候会卡在下面这个地方:
Checking product OKAY [ 0.050s]
Checking version-bootloader ......
经过排查是因为将usb插入到3.0的接口,重新插入到2.0的接口就没遇见这个问题了。
2.如何移除wifi感叹号?
adb shell settings put global captive_portal_https_url https://www.google.cn/generate_204
然后开启飞行模式,再然后关闭飞行模式解决。这条命令对android 7.1.1,android 8.0,android 8.1,android 9有效。
本文由 tuzhao 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为:
2018/09/02 13:46
大佬,我按教程破解后只有3G,怎么都出不来4G,怎么解决呢?
你再看下我写的步骤呢。
大佬你好,我刷factory镜像7.1.1时命令提示符出现“不是内部或外部命令,也不是可运行的程序或批处理文件”,怎么解决呢
你好,我的是pixel xl 欧版 安卓8.1.0 买的时候淘宝店家给破解的电信4G,重启了几次能打电话,不能用4G了,请问用你这个教程能重新破解4G吗
理论上是可以的。
自己使用的modemst文件。 链接: https://pan.baidu.com/s/1EzYAolzX_VyaZhfCeeu0xA 提取码: yw3d
请教一下老师备份我用twrp备份efs是否可行?与备份modemst有没有区别?
你好,你说的方式我没有尝试过,所以无法解答,抱歉。
能不能发一下备份的modemst文件 我只想破解电信 root权限什么的并不想动 现在bl锁已经解开了 多谢
你给我发一封邮件吧,我通过邮件发给你。我的邮箱地址“[email protected]”。