Nrfr:免Root SIM卡国家码修改工具完全指南
2026-02-06 04:14:40作者:殷蕙予
一、核心功能解析
1.1 项目定位与价值
Nrfr是一款免Root的SIM卡国家码修改工具(国家码:标识SIM卡所属国家/地区的代码),通过系统级API调用实现运营商配置调整,解决国际漫游兼容性问题,帮助用户突破区域限制服务访问。
1.2 核心解决场景
- 运营商配置优化:修复手机无法识别本地运营商、网络参数不匹配问题
- 区域服务解锁:突破TikTok、Samsung Health等应用的地区限制
- 漫游兼容性修复:解决国际漫游时运营商名称显示异常、功能缺失问题
- 双卡设备管理:支持双SIM卡独立配置,满足多地区服务需求
二、技术架构解析
2.1 目录结构详解
| 目录路径 | 功能作用 | 包含内容 | 技术特点 |
|---|---|---|---|
| app/ | Android应用主目录 | 源代码、资源文件、构建配置 | 基于Jetpack Compose开发,最小支持Android 8.0 |
| nrfr-client/ | 桌面端快速启动工具 | Go后端、React前端、构建脚本 | Wails框架开发,跨平台支持,集成ADB功能 |
| docs/ | 项目文档资源 | 使用说明、界面截图 | Markdown格式,包含操作流程图解 |
💡 架构设计亮点:采用"桌面工具+移动应用"分离架构,桌面端负责设备连接与部署,移动端专注核心功能实现,通过ADB桥接实现跨端协作。
2.2 核心技术实现
Nrfr通过Android系统原生API(CarrierConfigLoader) 实现功能,工作原理类似"给系统装了个翻译器"——不修改SIM卡本身,而是改变系统对SIM卡信息的解读方式:
- 通过Shizuku获取必要系统权限(无需Root)
- 调用隐藏API修改运营商配置参数
- 实现配置持久化,确保重启后设置保持
- 提供一键还原功能,保障系统安全
三、开发与使用指南
3.1 环境搭建
3.1.1 开发环境要求
- Android应用:Android Studio 2023.1+、Gradle 8.0+、Kotlin 1.9+
- 客户端工具:Go 1.21+、Node.js 16+、Wails 2.0+
📌 前置准备:
# 安装Wails框架(客户端开发必需)
go install github.com/wailsapp/wails/v2/cmd/wails@latest
3.1.2 项目获取
# 克隆代码仓库
git clone https://gitcode.com/gh_mirrors/nr/Nrfr
cd Nrfr
3.2 构建与运行
3.2.1 客户端工具构建
# 进入客户端目录
cd nrfr-client
# 安装前端依赖
npm install
# 开发模式启动(带热重载)
wails dev
# 构建发布版本
wails build -clean -platform=windows/amd64 # Windows
wails build -clean -platform=darwin/universal # macOS
wails build -clean -platform=linux/amd64 # Linux
💡 参数说明:
-clean:清理缓存后构建-platform:指定目标平台(格式:os/arch)-debug:生成调试版本
3.2.2 Android应用构建
# 进入应用目录
cd app
# 构建Debug版本
./gradlew assembleDebug
# 构建Release版本(带混淆)
./gradlew assembleRelease
📌 常见问题:
- 构建失败提示"SDK未找到":检查
local.properties中的sdk.dir配置 - 签名错误:在
app/build.gradle.kts中配置签名信息 - 依赖下载缓慢:配置Gradle镜像仓库
3.3 配置文件解析
3.3.1 核心配置文件对比
| 配置文件 | 功能描述 | 关键参数 | 与其他文件关联性 |
|---|---|---|---|
| nrfr-client/wails.json | 客户端构建配置 | 应用名称、输出文件名、前端命令 | 关联package.json的脚本定义 |
| app/build.gradle.kts | Android构建脚本 | 应用ID、版本号、依赖库 | 继承settings.gradle.kts的仓库配置 |
| settings.gradle.kts | Gradle项目设置 | 仓库地址、模块配置 | 为所有Gradle任务提供基础配置 |
3.3.2 版本号同步机制
应用版本号需在三个位置保持一致:
app/build.gradle.kts中的versionNamenrfr-client/app.go中的版本常量nrfr-client/wails.json中的productVersion
💡 最佳实践:创建版本号管理脚本,通过单个命令同步所有位置版本信息。
四、实战操作指南
4.1 快速启动流程
📌 准备工作:
- 手机开启"开发者选项"及USB调试
- 安装Shizuku应用并授予权限
- 使用数据线连接手机与电脑
📌 操作步骤:
- 启动Nrfr快速启动工具
- 在工具中选择已连接设备
- 点击"安装应用"按钮自动部署APK
- 按提示完成Shizuku权限授权
- 在手机应用中选择目标国家码并应用
4.2 高级功能使用
4.2.1 国家码修改
- 在主界面选择需要配置的SIM卡(双卡设备)
- 从预设列表选择目标国家/地区(如"日本-JP")
- 点击"应用设置"并等待配置完成
- 重启相关应用使设置生效
4.2.2 配置备份与恢复
// 备份配置示例代码(简化版)
val configManager = CarrierConfigManager(context)
val backup = configManager.exportCurrentConfig()
// 保存到文件
FileUtils.saveToFile(backup, "${context.filesDir}/backup.json")
💡 数据安全提示:配置文件包含敏感的运营商信息,建议加密存储或定期清理。
五、安全与注意事项
5.1 安全风险提示
- 修改国家码可能导致部分运营商服务中断
- 不建议频繁切换地区配置,可能触发运营商安全机制
- 部分设备可能存在兼容性问题,建议先备份数据
5.2 故障排除指南
- Shizuku连接失败:检查ADB服务状态,重启Shizuku
- 设置不生效:确认目标应用已关闭,尝试重启手机
- 配置丢失:升级系统可能导致配置重置,需重新应用设置
- 应用崩溃:在"设置-应用"中清除Nrfr数据后重试
六、项目特性总结
6.1 核心优势
- 安全可靠:无需Root,不修改系统文件,所有操作可逆
- 简单高效:一键式操作,平均配置时间小于30秒
- 持续维护:活跃的开发团队,定期更新以支持新系统版本
- 完全开源:Apache-2.0许可,代码透明可审计
6.2 未来发展方向
- 计划支持更多国家/地区的运营商配置
- 开发无线连接模式,摆脱USB数据线限制
- 增加配置文件分享功能,支持用户贡献预设
- 集成更多设备兼容性检测工具
免责声明:本工具仅供学习研究使用,修改运营商配置可能违反部分地区法律法规或运营商协议,请谨慎使用。作者不对任何因使用本工具造成的损失负责。
💡 使用建议:在测试新配置前,建议先在非主力设备上验证,确认兼容性后再应用到日常使用设备。
登录后查看全文
热门项目推荐
相关项目推荐
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00- QQwen3-Coder-Next2026年2月4日,正式发布的Qwen3-Coder-Next,一款专为编码智能体和本地开发场景设计的开源语言模型。Python00
xw-cli实现国产算力大模型零门槛部署,一键跑通 Qwen、GLM-4.7、Minimax-2.1、DeepSeek-OCR 等模型Go06
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin08
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00
热门内容推荐
最新内容推荐
项目优选
收起
deepin linux kernel
C
27
11
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
532
3.75 K
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
336
178
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
886
596
Ascend Extension for PyTorch
Python
340
405
暂无简介
Dart
772
191
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
12
1
openJiuwen agent-studio提供零码、低码可视化开发和工作流编排,模型、知识库、插件等各资源管理能力
TSX
986
247
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
416
4.21 K
React Native鸿蒙化仓库
JavaScript
303
355

