Pixel 3 开启电信SIM卡支持

本文最后更新于:2021-10-31

2021年,我准备把 Pixel 3 当主力机


先在网上看了几篇教程,似乎不是特别复杂

Ref:
水深火热的电信用户自救指南 —— Pixel 3 破解电信
玩机的必备操作 —— Pixel3 安装 Magisk
Pixel 3 完美支持中國電信

方法大概就是:
解锁手机 –> 刷Magisk来root手机 –> 开启电信模块
Pixel 3 硬件是支持电信的,所以只需要稍微修改设置就可以

准备分成四步

  • 全盘备份
  • 升级到最新系统
  • 刷Magisk
  • 开启电信模块

全盘备份

像我这样的小白,没刷之前就在考虑刷坏了怎么办
所以,首先来做个全盘备份

参考 How to fully backup and restore your Android device without root,用 adb 命令备份、还原,应该还算靠谱吧

  1. 开启 USB Debugging
  2. adb backup -apk -shared -all -f <filepath>/backup.ab
    暂时不清楚 backup 后面的4个参数具体什么意思,也不知道 backup.ab 这个.ab后缀的意义
  3. 输入上一跳命令后,手机会弹出一个界面,提示要不要全盘备份,还可以设置一个密码,推荐加密码
  4. 然后慢慢等备份
  5. 还原用 adb restore <filepath>/backup.ab 命令

2021/10/07 update
adb restore <filepath>/backup.ab不好用,恢复备份失败了…
在网上查了查,说是有的应用不遵守adb backup的标准,备份的时候会有错误,但是命令行界面不会报告错误
恢复了两三次,数据都没回来,幸好这次数据不是特别重要
需要换个备份方法,待定


升级到最新系统

手上这台 Pixel 3 是捡的二手,已经root了,清除数据时沒有卸载Magisk,手机验证通不过,没办法自动安装更新

去网上看了看怎么手动安装更新包,How to flash a monthly security update on Google Pixel without wiping data
这篇的方法是下载最新的整机固件包,改一下flash-all.sh

Near the end of the text, remove ‘-w’ (it’s written without quotes) and save the file.

只升级,不覆盖用户数据

但是总觉得有点担心

去google下载固件的网站,看到官方推荐的方法是通过Full OTA Images升级: Full OTA Images for Nexus and Pixel Devices - Updating instructions
步骤非常详细,按照官方指南,顺利升级到最新系统


刷Magisk

我这台手机已经解锁Bootloader,可以直接刷Magisk

如果还没解锁,可以参考google的教程 Factory Images for Nexus and Pixel Devices - Flashing instructions
注意解锁后,手机会清除所有数据,记得备份

刷Magisk参考了好几篇教程,交叉比对
玩机的必备操作 —— Pixel3 安装 Magisk
Pixel 3 完美支持中國電信
Magisk官方文档 - Github - Magisk - Installation
How to Unlock the Bootloader and Root the Google Pixel 3 with Magisk

  • install magisk.apk

  • patch boot image

    • 从google官方下载和手机型号对应的 Factory Images - 整机固件包: https://developers.google.com/android/images
    • 解压固件包,出来3个flash-***脚本,bootloaderradio两个.img镜像,还有一个体积最大的image-***.zip压缩包
    • 再次解压最大的image-***.zip压缩包,找到boot.img,上传到手机(可以用adb push boot.img /sdcard/Download/
    • 打开Magisk,点击上面的那个Install,选择Select and Patch a File,找到刚才传到手机上的boot.img
    • Magisk开始修这个包,有命令行输出,过一会就会提示修好的包magisk_patched_*****.img在哪里
    • 找到修好的包,传到电脑,准备刷进手机
  • flash boot

    这一步试了好几个方法,每个教程都有点区别,比较混乱

    • 重启到bootloader模式,用adb reboot bootloader命令
    • 重启到fastboot模式,用adb reboot fastboot命令(也可以按组合键,电源键+音量减

    目前不太清楚这两个模式什么区别,可以都试一下,一个不行换另一个

    • 然后fastboot flash boot magisk_patched_*****.img把patch包刷进boot分区
      fastboot reboot 重启手机,就ok了
    • 或者fastboot boot magisk_patched_*****.img用patch包直接开机
      这时手机只是临时刷入了Magisk,还需要去Magisk应用里,点击上面的那个Install,选择Direct Install,这样才能永久安上Magisk(这个方法有点麻烦,不如直接把patch包刷进boot分区)
    之前出了一点bug
    1
    2
    3
    4
    5
    6
    7
    8
    9
    2021/08/19 update(此条有错误)
    今天想了想
    应该是`adb reboot fastboot`配合`fastboot flash boot magisk_patched_*****.img`
    然后`adb reboot bootloader`配合`fastboot boot magisk_patched_*****.img`
    因为重启到`fastboot`模式是为了把`.img`刷进`boot`分区,但是我当时**错误**的使用了`fastboot boot magisk_patched_*****.img`命令,结果报错了,`fastboot`模式下没有`fastboot boot`这个命令
    后面再重启到`bootloader`模式,就可以使用`fastboot boot magisk_patched_*****.img`命令,直接加载`magisk_patched_*****.img`开机

    2021/10/31 update
    上面更新的2021/08/19 update好像不太对,当时刷了个命令报错了,但是我忘记具体是什么命令
  • 后续OTA升级

    Pixel 3 完美支持中國電信 这篇教程详细讲了如何正常OTA升级,非常实用

    在打開中國電信的支持之後,這裏着重説一下如何進行 OTA 升級。主要是 Magisk 能夠在保留對系統的更改的前提下騙過系統更新程序。其核心原理是,Magisk 將自己的修改從手機上暫時抹去,但是保持手機不重啟,所以 Magisk 仍然存活在系統內存當中,此時進行 OTA 升級系統將發現手機的軟件與原廠一致從而勝利升級完成。升級完成之後仍然不重啟系統,使用內存中的 Magisk 應用將 Magisk 的更改再重新落實到手機存儲上,之後再重啟。原文檔鏈接 https://topjohnwu.github.io/Magisk/tutorials.html 。步驟如下:

    • 在手機 Settings -> System -> Develop Options 之中關閉 Automatic System Updates ,這樣系統不會自動進行 OTA 更新,便於介時人工干預。
    • 當 OTA 更新來到時,先打開 Magisk Manager 應用,點擊 UNINSTALL 選擇 Restore Images ,暫時卸載 Magisk。
    • 依次進入 Settings -> Systems -> System Update 進行 OTA 升級,升級完成之後不要重啟系統。
    • 回到 Magisk Manager 應用,依次選擇 Install -> Install to Inactive Slot
    • 最後重啟系統

    更新:试了几次,都没成功,只能手动刷更新包,这个方法不太好用


开启电信模块

这一步反而是最简单的了

Magisk应用下方第四栏Modules部分,有各种各样的功能,可以搜到一个China Telecom Enabler,但是我的Pixel 3装不上

于是去网上找了一个Github - China Telecom Supporter
大佬给了安装方法,我刚开始没照着做,用Github的Download as ZIP下载下来,去Magisk里安装,结果出错了,因为下载的ZIP包多了一层文件夹,去掉就ok了

安装完成之后,重启手机,插电信卡,能打通电话,完结撒花~~~


升级 Android 12

2021/10/23 update

Pixel 3官方支持到2021年10月,正好赶上Android 12 正式版推送,我手上这部刷了Magisk的Pixel 3也收到了OTA更新
犹豫了两天,终究是抵不住这最后的晚餐,点了系统升级

结果电信破解没有了…吓我一跳
不过,好在一番折腾,发现在Magisk里卸载电信模块,再重新安装就又能用了

大概就是:

  • 升级Android 12
  • 发现Magisk patch的boot.img被扬了
  • 重新刷Magisk
  • 发现之前安装的Magisk模块都在,好耶
  • 发现电信破解被扬了,坏耶
  • 折腾折腾
  • 在Magisk里卸载电信模块
  • 重启手机
  • 再次安装电信模块
  • 再次重启手机
  • 电信又回来了,好耶

adb命令

刷Magisk,学了好几个adb命令,记在这里,防止忘了

  • adb push/pull
    用来在电脑和手机之间传文件,例如adb push boot.img /sdcard/Download/

  • adb shell
    类似SSH连进手机,可以用lspwdcd等命令,我用来查看文件路径,看看往哪里adb push/pull

  • adb install *.apk
    可以在命令行直接给手机安装apk

  • adb shell pm uninstall
    adb shell pm list packages 列出手机上安装的软件
    adb shell pm uninstall -k --user 0 软件包名 卸载指定软件

    这个方法可以“卸载”在手机上无法卸载的预装应用,但这个“卸载”不是真正的卸载应用,只是禁用,不会释放手机空间
    Ref:bilibili专栏 - 无法解锁bootloader时,如何使用ADB工具精简日版系统 & ntt docomo软件对照表


2021/08/25 update

  • Uninstall the application
    adb shell pm uninstall -k --user 0 <package-name>
    • -k : Keep the data and cache directories around after package removal.
    • –user 0: The user to disable
  • Re-install an uninstalled package
    adb shell pm install-existing <package-name>
  • List all packages you uninstalled. Run it from a bash shell: not in adb shell
    1
    diff <(adb shell pm list packages) <(adb shell pm list packages -u) -n | grep ^package:

Ref:
XDA - Uninstall bloatwares [No root]
XDA - few questions about root and more - Use adb shell to remove Google apps and more..

Bash script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# https://forum.xda-developers.com/t/uninstall-bloatwares-no-root.4321387/

# Here is a list of packages identified as bloatware / ads / junks / useless / optional.
# Please read comments and remove the lines where you want to keep the package.
# Uninstall at your own risks.

pm uninstall -k --user 0 com.google.android.apps.googleassistant
pm uninstall -k --user 0 com.google.android.googlequicksearchbox

pm uninstall -k --user 0 com.google.android.apps.subscriptions.red
pm uninstall -k --user 0 com.xiaomi.midrop

pm uninstall -k --user 0 com.xiaomi.miplay_client # Mi Play. This is an unnecessary process that hasn't really been used for years.
pm uninstall -k --user 0 cn.wps.xiaomi.abroad.lite # WPS Office. Has been flagged for years for malware. This was banned in India for a reason.
pm uninstall -k --user 0 com.miui.msa.global # MSA. This is the main service that displays ads in Xiaomi phones. This is already removed in Xiaomi.EU.
pm uninstall -k --user 0 com.xiaomi.payment # Unless you live in China or India, Xiaomi's own payment service is redundant and unnecessary.
pm uninstall -k --user 0 com.ebay.carrier # In case bloatware from Ebay is installed.
pm uninstall -k --user 0 com.android.browser # Mi Browser. It's a buggy unnecessary mess. Recommend you use other browsers like Chrome.
pm uninstall -k --user 0 com.mi.globalbrowser # Also part of Mi Browser.
pm uninstall -k --user 0 com.miui.videoplayer # Mi Video player. Uninstall if you prefer to use MX Player or VLC that actually support more formats.
pm uninstall -k --user 0 com.miui.micloudsync # Include if you don't use Mi Cloud.
pm uninstall -k --user 0 com.miui.hybrid # Found to be a data mining app that unnecesarily uses your phone's resources.
pm uninstall -k --user 0 com.miui.hybrid.accessory # Also a data mining app. Very recommend that you get rid of this.
pm uninstall -k --user 0 com.miui.player # Include if you don't use Xiaomi's music app.
pm uninstall -k --user 0 com.facebook.services # In case Facebook bloatware was preinstalled.
pm uninstall -k --user 0 com.facebook.system # Also Facebook bloat.
pm uninstall -k --user 0 com.facebook.appmanager # Also Facebook bloat.
pm uninstall -k --user 0 com.xiaomi.glgm # Mi Games. Very unncessary.
pm uninstall -k --user 0 com.xiaomi.mipicks # Very unnecessary. Xiaomi's way to advertise their own apps.
pm uninstall -k --user 0 com.xiaomi.joyose # Junk and safe to remove.
pm uninstall -k --user 0 com.miui.notes # Include if you use other notes apps.
pm uninstall -k --user 0 com.miui.cleanmaster # Together with WPS Office, Cleaner Master was found to be affiliated with Cheetah Mobile, that included spyware and adware in their software.
pm uninstall -k --user 0 com.miui.weather2 # Include if you use other apps to get the weather like Google or Yahoo.
pm uninstall -k --user 0 com.micredit.in # Mi Credit. Basically useless if you live outside India.
pm uninstall -k --user 0 com.mipay.wallet.in # Part of Mi Credit.

2021/10/27 update

最近收了个Google Pixel C平板玩玩,记录一下遇到的问题

  • adb可以正确识别设备,fastboot报错no permission,网上找了找有lspci手动添加usb设备的,但是更简单的是sudo fastboot
  • TWRP里安装第三方ROM一定按照步骤来,清除SYSTEMDATA分区,刚开始看漏这步,刷完重启,卡在开机动画,强制关机重 新进TWRP清除DATA分区还清不掉,又卡在formatting data using make_ext4fs不动了,仔细看了看,还有两个报错failed to mount datafailed to mount system,这两个分区都出问题了
    解决办法参考 XDA - How to fix unable to mount data internal storage 0mb in twrp permanently,在TWRP里点Advance Wipe,再点Repair File SystemChange File System先改成Ext2,刷好之后再改回来Ext4,两个分区都这么改
    接下来就按照刷机步骤一步步来,重新刷一遍,顺利开机
  • 刷好之后进系统试一试,虽然有点卡顿,但也不是不能用
    比较蛋疼的是,第三方ROM对原配键盘的组合键支持没了,原配键盘没有ESC键,于是用...+1模拟ESC键,第三方ROM把这些扬了
    不知道能不能通过Magisk挂载模块remap keyboard(我要是有技术该多好.jpg

一些XDA论坛的链接,记下来,方便以后用

感慨一下,一个2015年的设备,直到2021年还有开发者维护,能用上Android 11,甚至开发者还打算支持Android 12
这个平板的使用寿命不可谓不长

当然,这里也有运气的成分,本来官方支持只是从Android 6到8,然后Google就开始玩Chorme OS,把这个产品线扔了…
而且因为这个平板用Nvidia的Tegra X1芯片,不是常见的高通芯片,似乎还有其他奇奇怪怪我没看懂的限制,导致开发者都想弃坑了
结果Nvidia正好推出了自家的Nvidia Shield TV电视盒子,用的同款芯片,开发者就把电视盒子的内核移植过来,继续填坑了(似乎是这么个发展,详情可以看XDA帖子 Future of our Pixel C - Goal reached

感谢开源~
感谢开发者~


本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0协议 。转载请注明出处!