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数据线限制
- 增加配置文件分享功能,支持用户贡献预设
- 集成更多设备兼容性检测工具
免责声明:本工具仅供学习研究使用,修改运营商配置可能违反部分地区法律法规或运营商协议,请谨慎使用。作者不对任何因使用本工具造成的损失负责。
💡 使用建议:在测试新配置前,建议先在非主力设备上验证,确认兼容性后再应用到日常使用设备。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0192
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0121
Step-3.7-FlashStep-3.7-Flash是一个拥有 1980 亿参数的稀疏混合专家(MoE)视觉语言模型,由 1960 亿参数的语言主干网络和 18 亿参数的视觉编码器组合而成,具备原生图像理解能力。Python00
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
fun-rec推荐系统入门教程,在线阅读地址:https://datawhalechina.github.io/fun-rec/Python03
so-large-lm大模型基础: 一文了解大模型基础知识01
热门内容推荐
最新内容推荐
项目优选
收起
暂无描述
Dockerfile
766
4.98 K
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
857
1.93 K
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
685
1.34 K
Ascend Extension for PyTorch
Python
720
884
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.08 K
1.1 K
deepin linux kernel
C
32
16
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
457
440
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.01 K
262
华为昇腾面向大规模分布式训练的多模态大模型套件,支撑多模态生成、多模态理解。
Python
151
253
CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。
Python
1 K
610

