结论

本方法删除的包是 Carrier Settings (com.google.android.carrier)

估计系统会因此无法根据运营商载入相应配置档案,也无法在手机重启保留 SIM 卡设定

因此每次重启后需要回到 Pixel IMS 重新配置

Pixel 手机系统中存在一个 com.google.android.carrier 的包,负责检测当前运营商并管理相关配置档案,中国内地运营商自然没有相应的配置档案。所以,跳过检测与限制即可。
使用 ADB Shell 删除这个包并重启,再使用 Shizuku 和 Pixel IMS 开启相关功能后即可使用 NR SA/NSA (5G)

具体步骤

1. 开启 USB 调试并连接至电脑

2. 使用 ADB Shell 删除 com.google.android.carrier 包

*Windows 使用者需要注意是否正确配置了 ADB 环境变量!*

执行以删除该包

adb shell pm uninstall user 0 com.google.android.carrier


3. 重启手机

4. 安装并启用 Shizuku

4.1. 使用 ADB 或 WLAN 调试启用 Shizuku

4.2. 在 Shizuku 设置中允许 Pixel IMS 使用 Shizuku API

5. 在 Pixel IMS 中打开 VoLTE, VoNR 并等待 IMS 注册成功

6. 前往 设置 > 网络和互联网 > SIM 卡 > (你的 SIM 卡) 开启 Vo5G,同时将 首选网络类型 切换至 5G

7. 检查状态,并自行测试接入与拨出通话

注意事项

若拨出通话马上自动挂断,这有可能是视频通话的问题,尝试在 Pixel IMS 中关闭视频通话 (Enable Video Calling (VT)) 选项

信号指示器只有一两格可能并不是因为信号强度不够,而是指示器的阈值设置过高,实际信号强度可能已经足够使用

更改阈值同样需要 Pixel IMS:

进入 Pixel IMS,进入最下面的 Expert Mode

编辑 5g_nr_ssrsrp_thresholds_int_array,将数值改小一些 (例如 [120,115,105,95])

关于DSU 载入 GSI 方法

GSI Generic System Image,通用系统映像,是 Google 完全基于 AOSP 源码编译的系统镜像

因此,GSI 中并不包含任何厂商、运营商定制的应用和配置,也就能够开启 Pixel 手机的 NR SA/NSA (不包含 VoNR)

1. GSI 中与原系统的 Modem 版本存在差异导致限制失效

这是整个社区中最先发现的方式,当时能够载入一次 GSI 后就能永久使用 NR SA/NSA

后来 Google 更新了 Modem 版本后该方法失效

2. 载入 GSI 并保留 Modem 的缓存跳过限制

在通过 DSU 载入 GSI 前先开启原系统的飞行模式以保留 Modem 的缓存来跳过限制

其他方法

这是一种直接与 Exynos Modem 进行通讯的方式 (需要 root 登入 ADB Shell)

首先开启手动控制

echo 'AT+GOOGSETNV="NR.MANUAL.MODE.ENABLE",0,"01"\r' > /dev/umts_router

然后开启 NR SA/NSA

echo 'AT+GOOGSETNV="NR.CONFIG.MODE",0,"11"\r' > /dev/umts_router

注意:其中,"NR.CONFIG.MODE",0,"11" 中的 11 代表开启 NR SA/NSA,10 代表仅开启 NR SA,01 代表仅开启 NR NSA