Carrier IMS
3.9.0.r106.e9035ac9 · GitHub
More about this app
Maintained Pixel IMS toolkit: tune VoLTE/VoWiFi/VoNR, 5G display and carrier config via Shizuku
Carrier IMS for Pixel (TurboIMS)
面向 Google Pixel 的运营商与 IMS 工具集
在 Shizuku 权限下快速调优 VoLTE/VoWiFi/VoNR、5G 显示与网络兼容行为
中文(默认) | English
仓库迁移说明
- 仓库已从
ryfineZ/TurboIMS迁移为ryfineZ/carrier-ims-for-pixel - 建议使用
3.8.5及以上版本,应用内「检查更新 / 提 Issue / 打开仓库」已切换到新仓库 - 旧版本若遇到更新或 Issue 跳转异常,请直接从新仓库 Releases 手动下载安装
项目定位
本项目是基于 Mystery00/TurboIMS 的持续维护分支,面向中国大陆与跨区使用场景做了大量交互与兼容性增强。
目标是让普通用户也能更低门槛地完成 IMS 功能调优与问题排查。
界面预览
功能矩阵
| 模块 | 能力 | 说明 |
|---|---|---|
| 系统信息 | 版本/设备/补丁/Shizuku 状态 | 集中展示运行环境,便于排障 |
| IMS 注册 | IMS 注册状态查询与手动注册 | 未注册时可一键触发注册流程 |
| 运营商能力 | VoLTE / VoWiFi / ViLTE / VoNR / UT / Cross‑SIM | 开关项实时生效,失败自动回滚并记录日志 |
| 5G 能力 | 5G NR / 5G 信号强度 / 5G+ 图标 | 适配中国大陆常见展示需求 |
| 网络修复 | 一键修复网络验证(captive portal) | 修复“已连接但网络受限/感叹号” |
| TikTok 修复 | 修复 TikTok 无网络(大陆 SIM) | 仅大陆 SIM 提供该选项,海外 SIM 默认无需修复 |
| 诊断工具 | 日志查看、配置全量查看、Issue 快捷上报 | 失败日志可直接附带到 Issue |
| 应用维护 | 应用内检查更新与下载安装 | 直接对接仓库 Release |
为什么这个分支更适合日常使用
- 更清晰的 UI 结构:核心操作入口前置,文案更贴近实际问题
- 更稳的写入策略:优先安全路径,失败可回退,避免高风险操作
- 更完整的排障链路:失败日志沉淀、系统信息复制、Issue 一步提交
- 新增网络能力诊断:支持对照 App 配置与 CarrierConfig 读回,定位更直接
- 界面进一步紧凑化:信息密度更高,常用按钮与卡片留白优化
- 更贴近国内网络环境:5G 显示与联网验证修复能力内置
快速开始
适用范围
- 设备:Pixel Tensor 平台(Pixel 6/7/8/9/10、Fold、Tablet)
- 系统:Android 13 及以上(建议 Android 14/15/16)
- 语言:简体中文 / English
构建(开发者)
./gradlew :app:assembleDebug
adb install -r app/build/outputs/apk/debug/app-debug.apk
如需本地签名,请在 local.properties 中配置:
SIGN_KEY_STORE_FILE=/path/to/your.keystore
SIGN_KEY_STORE_PASSWORD=***
SIGN_KEY_ALIAS=***
SIGN_KEY_PASSWORD=***
常见问题
1. IMS 仍未注册
- 先确认 Shizuku 已就绪
- 检查 VoLTE / VoWiFi 是否可用
- 使用日志与 Issue 上报能力收集现场信息
2. 网络有信号但无法上网
- 先检查 APN 是否缺失或异常
- 再尝试“网络验证修复”功能
3. TikTok 仍不可用
- 仅大陆 SIM 才会出现“修复 TikTok 无网络”开关
- 变更后建议重启目标 App 或清理其会话缓存再测试
4. 旧版本“检查更新 / 提 Issue”异常怎么办
- 项目仓库已迁移为
ryfineZ/carrier-ims-for-pixel,旧仓库地址在部分客户端/网络环境下可能出现跳转或 API 兼容异常 - 建议升级到
3.8.5及以上版本,新版已内置新仓库地址,并对旧地址增加更新接口回退兜底 - 如你仍使用旧版且无法更新,可直接从新仓库 Releases 页面手动下载安装包
5. 为什么去掉“修改国家码”,改为“一键修复 TikTok 登录”
- 旧方案里所谓“国家码修改”,本质是写入 CarrierConfig 覆盖项
sim_country_iso_override_string,并不是真正修改基带层的 MCC/MNC。 - 设备真实网络归属值(如
gsm.operator.numeric、注册态中的 MCC/MNC)通常不会被这类覆盖项直接改变,因此它不是稳定、通用的“改国家码”方案。 - 实测中 TikTok 可用性的关键点并非“改成某个国家”,而是把 ISO 覆盖成异常值后,触发 TikTok 的识别分支异常,从而绕过其对 SIM 归属地的部分判断逻辑。
- 基于这个实际机理,项目将入口改为更直观的一键开关“修复 TikTok 无网络”,避免用户误以为此功能可以真实改写运营商归属信息。
- 该行为依赖目标 App 版本与风控策略,后续可能变化;此功能仅用于兼容性排查与测试,不保证长期有效。
更新记录
- 详细版本变更见 CHANGELOG.md
- 历史发布见 Releases
致谢
免责声明
本应用会修改系统运营商相关配置,仅用于学习、测试与自有设备调优。请自行评估风险并对操作结果负责。
License
Apache-2.0
How Shizuku is used
Can tune VoLTE, VoWiFi, VoNR and 5G options, manage APNs and portal checks via `Shizuku`.
This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.
How this app uses Shizuku
Shizuku is used to apply carrier calling settings, inspect registration, and fix network detection.
- Tune calling features: turn on VoLTE, VoWiFi, video calling, VoNR, cross SIM calling and supplementary services for the selected SIM through Shizuku.
- Tune 5G and carrier display: enable 5G standalone and non standalone, adjust signal thresholds and 5G Plus icon behavior, show 4G for LTE, override carrier name and country codes, or reset all overrides through Shizuku.
- Check and restart IMS: view whether IMS is registered and restart IMS registration for a SIM through Shizuku, including quick settings tiles that toggle VoLTE and show IMS status.
- Manage APN entries: create or update an APN and set it as preferred for a SIM through Shizuku.
- Fix portal detection: switch connectivity check URLs to China reachable addresses or restore defaults and view the current portal state through Shizuku.
- View SIM and carrier config: list active SIMs and read or export current carrier configuration values through Shizuku.
Android APIs or commands used
android.app.IActivityManager.startInstrumentationandroid.app.IActivityManager.startDelegateShellPermissionIdentityandroid.app.IActivityManager.stopDelegateShellPermissionIdentityandroid.telephony.CarrierConfigManager.overrideConfigandroid.telephony.CarrierConfigManager.getConfigForSubIdandroid.telephony.SubscriptionManager.getActiveSubscriptionIdListandroid.telephony.SubscriptionManager.getActiveSubscriptionInfoListcom.android.internal.telephony.ISub.getActiveSubscriptionInfoListcom.android.internal.telephony.ISub.getSlotIndexcom.android.internal.telephony.ITelephony.resetImscom.android.internal.telephony.ITelephony.isImsRegisteredcom.android.internal.telephony.ITelephony.setCarrierTestOverridecom.android.internal.telephony.ITelephony.clearCarrierTestOverrideandroid.telephony.TelephonyManager.createForSubscriptionIdandroid.provider.Settings.Global.putStringandroid.provider.Settings.Global.getStringandroid.provider.Telephony.Carriers.CONTENT_URIcontent://telephony/carriers/preferapn/subId/
Changelog
What's new for version 3.9.0.r106.e9035ac9
3.9.0.r101 (2026-06-20)
优化
- 附加功能页支持直接选择当前 SIM,并按“SIM 信息、区域兼容、APN、网络验证、网络出口、TikTok、快捷开关、配置备份”的顺序整理
- APN 模块改为“检查与写入”,打开 APN 时会带上当前 SIM,写入推荐 APN 前会显示确认信息
- 快捷开关模块支持从 App 内请求添加 VoLTE / IMS 状态系统图块
- 配置备份文案改为“备份当前 SIM”,明确不包含 IMS 注册状态
- 首页广告弹窗保持默认展示,用于支持开源项目继续维护
修复
- 修复 IMS 注册状态读取和 CarrierConfig 读取并发时可能串结果的问题
- IMS 注册触发后增加“注册中”状态和短时间重试,失败时提示到信号更稳定的位置稍后再试
- 修复附加页从“所有 SIM”进入时,APN 写入和备份恢复可能仍使用“所有 SIM”的问题
- 修复部分设备 SIM 的 ISO 显示为异常数字的问题,按 MCC 显示常见国家码
3.9.0 (2026-06-19)
新增
- 新增底栏分页:首页 IMS 核心功能、附加功能、支持作者、商务合作、关于页面分开呈现
- 新增合作广告能力:首页广告弹窗、合作页广告卡片均从 Muggle Leads 公开接口读取,App 不携带 API Key
- 新增商务合作表单,合作意向提交到 Muggle Leads 广告平台
- 新增 DoDoPay App 内打赏流程,支持留言、金额、打赏记录说明和“返回 App”关闭支付弹窗
- 新增附加功能:区域兼容状态、网络出口检测、APN 快速入口、自动 APN、快捷开关引导、配置备份/恢复
优化
- 首页聚焦 IMS 常用开关,网络修复与 TikTok 修复移动到附加功能页
- 首页广告弹窗尺寸加大,弱化边框,并补充开源维护说明文案
- 打赏记录文案改为“打赏记录”,避免和技术支持混淆
- 商务合作入口默认使用表单,不再在已配置合作平台时展示 GitHub Issue 合作链接
修复
- 修复 DoDoPay 支付页返回业务站点时跳到 GitHub 的问题,改为返回 App 并关闭支付弹窗
- 删除旧打赏二维码和本地保存支付二维码流程,避免与 DoDoPay 支付闭环冲突
- 移除旧
/api/turboims/*广告接口兜底,广告只走公开广告位接口
3.8.5 (2026-02-23)
修复
- 同步仓库改名为
ryfineZ/carrier-ims-for-pixel后的应用内入口:仓库、Issue、更新检查地址全部切换新仓库 - 修复旧版本在仓库改名后可能出现的更新/Issue跳转异常:更新检查新增旧仓库地址回退兜底
- 更新下载包文件名统一为
CarrierIMSForPixel-<version>.apk,降低旧文件名误导
优化
- 功能卡片标题由“本次应用功能列表”调整为“功能开关实时生效”,突出开关即时生效逻辑
文档
- README / README_EN 新增仓库改名与旧版本升级说明,明确历史仓库链接可能失效时的处理方式
- 发布链接与徽章统一切换为新仓库地址,避免分发入口混用
3.8.4 (2026-02-18)
新增
- 增加 README 双语入口结构:中文默认,英文文档独立维护
- 新增 Shizuku Binder 就绪等待工具,降低启动期竞态风险
优化
- 重构品牌图标资源:桌面图标、应用内 Logo 与 README 展示图统一视觉
- 打赏入口文案优化为更友好的表达:
支持作者、请喝咖啡 - README_CN 合并为跳转说明页,减少多份中文文档维护成本
修复
- 修复应用首次启动偶发闪退(Shizuku Binder 未就绪时触发 instrumentation)
- 修复多个 instrumentation 链路在委托权限开启/释放阶段的异常兜底
- 修复首屏初始化中
selectedSim并发状态竞态导致的空值风险
3.8.3 (2026-02-18)
新增
- 新增「Wi-Fi 异常修复」独立卡片,面向小白用户提供一键入口
- 新增一键修复能力:自动写入中国可访问的联网验证地址(HTTP/HTTPS)
优化
- 按钮与文案改为问题导向:
一键修复 Wi-Fi 网络 - 修复说明补充「网络受限或感叹号」场景,降低理解门槛
- 优化区块间距,统一系统信息、Wi-Fi 修复卡片与 SIM 卡区块布局
技术
- 通过 Shizuku + delegated shell identity 写入
Settings.Global,并增加回读校验 - 失败结果接入现有 Issue 失败日志池,便于用户提交排障信息
3.8.2 (2026-02-18)
新增
- 新增「支持开发」入口,支持微信赞赏与支付宝打赏二维码
- 新增打赏二维码资源,支持一键保存到相册
优化
- 优化打赏流程:点击「立即支付」后先保存二维码再拉起目标应用
- 统一「立即支付 / 保存二维码」按钮样式,提升操作一致性
- 打赏面板支持滚动,优化小屏设备可点击区域和显示完整度
- 优化提示文案:明确支付宝会按收款码类型进入对应页面(个人/商家)
- 更新按钮图标语义优化为“下载更新”
修复
- 修复 Shizuku 未运行时进入应用可能闪退的问题
- 为 SIM 读取链路增加 Binder 未就绪兜底,降低启动期崩溃风险
- 强化 IMS 功能闭环:开关实时生效、失败回滚、失败日志可直接用于 Issue 排障
- 配置写入策略优化为“持久化优先,失败回退非持久化”,并支持开机自动恢复
兼容性
- 增加微信 / 支付宝相关包与 Scheme 查询声明,提升外部跳转稳定性
3.8 (2026-02-11)
项目来源
- 本项目 fork 自 Turbo1123/TurboIMS
- 在保留 fork 关系基础上持续重构与增强,面向 Pixel 设备的 IMS 场景持续维护
新增
- 新增系统信息区快捷入口:仓库 / Issue / 更新 / 日志
- 新增应用内更新能力:检查新版本、下载并安装
- 新增 Issue 快捷提报:自动复制系统信息并跳转仓库 Issue 页面
- 新增 IMS 注册状态查询与手动注册开关
- 新增 5GA / 5G+ 图标显示开关(适配中国大陆 5GA 场景)
优化
- 系统信息右上角操作按钮改为紧凑布局,小屏可完整显示
- Shizuku 就绪后自动刷新 SIM 列表并优先选中主 SIM
- SIM 列表排序优化:主 SIM 优先,“所有 SIM”置底
- 主操作按钮简化为「应用 / 重置 / 导出」
- 运营商名称、运营商国家码、IMS User Agent 输入框显示当前值并补充用途说明
- 运营商国家码下拉项展示国家与码值(MCC),支持手动输入
- 设置项按 5G / 4G / 其他分类顺序展示
- 适配多语言资源与限售地区主流语种
修复
- 修复应用配置后本地状态与系统状态不一致的问题(仅成功写入后保存)
- 修复重置配置后界面开关状态不同步的问题
- 修复 SIM 列表刷新后选中项可能失效的问题
- 修复 Shizuku 状态边界判断与自动刷新触发时机
- 修复部分系统版本下 QS 启动主界面的兼容问题
- 修复多项 lint/资源告警,提升稳定性
3.7 (2026-01-29)
新增
- Android 16 下的 CarrierConfig 写入兜底(避免 persistent 限制导致崩溃)
- 读取系统当前配置并回显到 UI
- 一键重启 IMS 注册
- CarrierConfig 全量 Dump + 过滤
- QS 快捷图块:VoLTE 开关 / IMS 状态
- SIM 读取增强(ISub 路径,兼容 eSIM/双卡)
- 包名调整为
io.github.vvb2060.ims.mod,可与原版共存
优化
- 功能开关默认值与实际配置对齐
- 诊断入口集中到工具卡片,排障更直观
新增
- 增强系统信息显示与交互反馈,更新支持设备文档
- 实现 SIM 卡配置的持久化存储与回溯
- 支持自定义 SIM_COUNTRY_ISO_OVERRIDE_STRING
优化
- 使用 FeatureValue 封装功能配置数据,优化 Compose 重组性能
- 升级依赖库并调整配置读取逻辑
- 优化构建配置并启用代码混淆
Permissions
4 permissions requested