起因
Google Pixel 3 不支持中国电信信号, 如果不 root 只能通过 *#*#4636#*#*
来设置 4g 上网, 但是却无法进行通话,无法失败中国电信通话信号。所以要想在 Pixel 3 上4g 上网加通话,就必须 root。
Root 选择了目前推荐的方式使用 magisk
进行,并没有使用 twrp 刷机,而且 Android 11 也不支持。
简要操作步骤记录
- 操作之前需要备份应用和数据,因为该方法会重置系统,清除数据。
- 开发者选项打开,选择运行解锁 oem lock.
- 下载
android-platform-tools
和适配 Pixel 3 的 官方 Android 11 镜像(代号 blueline) - 手机上先安装好 Magisk 的最新版(注意是最新版 github 上有,设置里面的更新通道选择 Canary)
- 提取下载好的官方 Android 11 镜像,得到里面的
boot.img
然后通过 android-platform-tools 下的adb push …
命令拷贝到手机 - 点击 magisk 菜单的 install 按钮 “选择并补丁文件…” 来对刚刚上传的 boot.img 进行补丁镜像。完成后得到名为
magisk_patched.img
的文件,利用adb pull …
命令回传到电脑的 android-platform-tools 目录下备用。 - 把
magisk_patched.img
刷入手机,先进行解锁,如下指令:adb reboot bootloader
fastboot flashing unlock
fastboot flash boot magisk_patched.img
fastboot reboot - 完成操作,如果中途变砖。就利用官方 Android 11 镜像里面的
flash-all.sh
刷回纯净的系统后重新进行上述步骤破解。 - 在成功 root 后的 magisk 界面下方一排按钮选择模块组,安装
VoEnabl
模块。如果搜索不到Chinese_sim_supporter
模块就需要下载手动安装,Chinese_sim_supporter zip 下载地址:https://github.com/apporc/chinese_sim_supporter。 下载好 zip 包后注意不要直接在 magisk app 里面安装(尝试很多次都安装失败),而是解压到手机文件系统的/data/adb/modules
目录下。这一步很关键,我折腾了很久。然后删除 /data/vendor/modem_fdr 目录下的fdr_check
文件,最后重启系统。如无意外,手机就能成功利用电信卡通话和上网了。
后记
过程中其实试过不用 magisk 模块破解方式直接想修改 /vendor/rfs/msm/mpss/readonly/vendor/mbn/mcfg_sw/mbn_sw.txt
进行电信网路的支持,但是无奈 Android 11 的文件系统挂载和以前不一样,总是无法写入。而且试过了如 adb root 和 adb insecure 的方式均未成功,最后还是选择了安装 Chinese_sim_supporter 模块的方式写入该文件,感谢原作者的贡献。
参考链接:
- http://bbs.gfan.com/android-9632176-1-1.htmlgfan.com/android-9632176-1-1.html
- https://sandyfffeng.com/2020/05/24/google-pixel-2-%E7%A0%B4%E8%A7%A3%E7%94%B5%E4%BF%A14g-%E5%85%A8%E6%95%99%E7%A8%8B%EF%BC%88mac-windows-%E9%80%9A%E7%94%A8%EF%BC%89/
- https://topjohnwu.github.io/Magisk/guides.html
- https://blog.csdn.net/Ender_Zhao/article/details/108659911
- https://blog.apporc.org/china-telecom-support-on-pixel-3/
- https://blog.apporc.org/pixel-3-wan-mei-zhi-chi-zhong-guo-dian-xin/
- https://android.stackexchange.com/questions/149434/how-to-mount-system-as-read-write-in-android
- https://android.stackexchange.com/questions/186630/android-o-failed-to-mount-system-dev-block-dm-0-is-read-only/186736
- https://www.cnblogs.com/jeason1997/p/12410537.html