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数据线限制
- 增加配置文件分享功能,支持用户贡献预设
- 集成更多设备兼容性检测工具
免责声明:本工具仅供学习研究使用,修改运营商配置可能违反部分地区法律法规或运营商协议,请谨慎使用。作者不对任何因使用本工具造成的损失负责。
💡 使用建议:在测试新配置前,建议先在非主力设备上验证,确认兼容性后再应用到日常使用设备。
登录后查看全文
热门项目推荐
相关项目推荐
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
请把这个活动推给顶尖程序员😎本次活动专为懂行的顶尖程序员量身打造,聚焦AtomGit首发开源模型的实际应用与深度测评,拒绝大众化浅层体验,邀请具备扎实技术功底、开源经验或模型测评能力的顶尖开发者,深度参与模型体验、性能测评,通过发布技术帖子、提交测评报告、上传实践项目成果等形式,挖掘模型核心价值,共建AtomGit开源模型生态,彰显顶尖程序员的技术洞察力与实践能力。00
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
MiniMax-M2.5MiniMax-M2.5开源模型,经数十万复杂环境强化训练,在代码生成、工具调用、办公自动化等经济价值任务中表现卓越。SWE-Bench Verified得分80.2%,Multi-SWE-Bench达51.3%,BrowseComp获76.3%。推理速度比M2.1快37%,与Claude Opus 4.6相当,每小时仅需0.3-1美元,成本仅为同类模型1/10-1/20,为智能应用开发提供高效经济选择。【此简介由AI生成】Python00
Qwen3.5Qwen3.5 昇腾 vLLM 部署教程。Qwen3.5 是 Qwen 系列最新的旗舰多模态模型,采用 MoE(混合专家)架构,在保持强大模型能力的同时显著降低了推理成本。00- RRing-2.5-1TRing-2.5-1T:全球首个基于混合线性注意力架构的开源万亿参数思考模型。Python00
热门内容推荐
最新内容推荐
Degrees of Lewdity中文汉化终极指南:零基础玩家必看的完整教程Unity游戏翻译神器:XUnity Auto Translator 完整使用指南PythonWin7终极指南:在Windows 7上轻松安装Python 3.9+终极macOS键盘定制指南:用Karabiner-Elements提升10倍效率Pandas数据分析实战指南:从零基础到数据处理高手 Qwen3-235B-FP8震撼升级:256K上下文+22B激活参数7步搞定机械键盘PCB设计:从零开始打造你的专属键盘终极WeMod专业版解锁指南:3步免费获取完整高级功能DeepSeek-R1-Distill-Qwen-32B技术揭秘:小模型如何实现大模型性能突破音频修复终极指南:让每一段受损声音重获新生
项目优选
收起
deepin linux kernel
C
27
11
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
567
3.83 K
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
892
667
Ascend Extension for PyTorch
Python
376
446
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
349
200
昇腾LLM分布式训练框架
Python
116
145
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.37 K
778
暂无简介
Dart
798
197
React Native鸿蒙化仓库
JavaScript
308
359
openJiuwen agent-studio提供零码、低码可视化开发和工作流编排,模型、知识库、插件等各资源管理能力
TSX
1.13 K
271

