sing-box for Android:官方下载、安装与配置导入
简答:sing-box for Android 的官方客户端简称 SFA,先从官方文档列出的应用商店、F-Droid 或 GitHub Releases 获取,再按 Android 版本和 CPU 架构选择 APK,安装后导入 sing-box 配置并授予 VPN 权限。
定义:sing-box for Android 是用于管理和运行本地或远程 sing-box 配置的 Android 客户端,可通过 Android VpnService 实现 TUN 透明代理。
先看六步速查表:从下载到确认连接生效
如果你搜到多个 APK,不确定哪个能装,先按下面顺序处理。最稳妥的路径是:官方渠道下载、确认 Android 版本、匹配 CPU 架构、导入配置、允许 VPN、查看日志验证。
| 检查项 | 怎么看 | 出错表现 | 解决办法 |
|---|---|---|---|
| 下载渠道 | 使用官方 Android 页面列出的 Play Store、F-Droid 或 GitHub Releases | 应用名称、签名或更新来源不清楚 | 返回官方页面重新选择,不从不明 APK 站下载 |
| Android 版本 | 设置→关于手机→Android 版本 | 提示无法安装或解析 | Android 5 设备选择带 legacy-android-5 的构建;其他版本按发布页要求选择 |
| CPU 架构 | 查看设备信息,或不确定时选择官方 universal 构建 | 安装失败、启动即退出 | 确认 arm64、armeabi-v7a、x86 或 x86_64 后重新下载 |
| 配置导入 | 在 Profiles 中选择 Local 或 Remote | JSON 格式错误、配置为空 | 确认文件或链接返回的是 sing-box JSON,不是网页或其他客户端格式 |
| VPN 权限 | 点击启动时查看 Android 系统弹窗 | VPN 权限冲突或启动立即停止 | 关闭其他 VPN、网络防火墙和同类接管工具后重试 |
| 连接验证 | 查看日志中的路由、DNS 和出站记录,并对比出口 IP | 界面显示运行但应用打不开 | 检查 TUN、分应用代理、DNS 和配置中的出站是否可用 |
SFA 的官方文档将它定义为管理和运行本地或远程 sing-box 配置的 Android 客户端,并说明其提供 TUN 透明代理等平台功能。查看 sing-box for Android 官方文档
下载渠道怎么选:Play Store、F-Droid 还是 GitHub APK
官方 Android 页面列出的下载入口包括 Play Store、Play Store Beta、GitHub Releases 和 F-Droid。普通用户优先选择稳定应用商店版本;需要离线安装、指定架构或无法使用应用商店时,再使用官方 GitHub Releases。
| 渠道 | 适合场景 | 更新方式 | 注意事项 |
|---|---|---|---|
| Play Store | 可以正常使用 Google Play | 由应用商店管理更新 | 确认不是 Beta 测试渠道 |
| F-Droid | 偏好开源应用仓库 | 建议安装 F-Droid 客户端后更新 | F-Droid 页面明确提示直接下载 APK 不会收到更新通知,且安全性不如通过客户端安装 |
| GitHub Releases | 需要手动安装或选择特定架构 | 自行查看新 Release 并更新 | 只使用 SagerNet/sing-box 的发布页,并在页面提供校验值时核对 SHA-256 |
截至 2026 年 10 月 24 日,Releases 标记为 Latest 的是 1.14.4,发布时间为 2026 年 10 月 24 日;同一页面还列有带 Pre-release 标记的 alpha 渠道。日常使用不要把预发布版本当成稳定版。查看官方 Releases 列表
GitHub 发布页会为 Android 构建列出架构、文件大小和 SHA-256。校验时针对下载完成的原始 APK 文件操作;如果发布页没有列出校验值,就不要自行猜测哈希,改为重新确认下载地址和文件名。
sha256sum SFA-<版本号>-arm64-v8a.apkmacOS 可使用:
shasum -a 256 SFA-<版本号>-arm64-v8a.apkGitHub 仓库将该项目定位为 sing-box 的 Android client,官方文档则列出了应用商店、GitHub 和 F-Droid 入口。查看 Android 客户端官方仓库
APK 架构和 Android 版本怎么判断
一句话结论:不确定 CPU 架构时优先选择官方 universal;Android 5 设备只在发布页选择带 legacy-android-5 的构建,并同时匹配设备架构。
| 标识 | 通常对应 | 选择建议 |
|---|---|---|
arm64-v8a | 较新的 64 位 ARM 手机和平板 | 系统信息显示 ARM64 或 AArch64 时选择 |
armeabi-v7a | 较旧的 32 位 ARM 设备 | 确认设备为 32 位 ARM 后选择 |
x86 | 部分旧款 Intel Android 设备或模拟器 | 只有确认是 x86 时选择 |
x86_64 | 部分 64 位 Intel 设备或模拟器 | 确认系统架构后选择 |
universal | 无法确认架构的设备 | 兼容范围宽,但文件通常更大 |
legacy-android-5 | Android 5 兼容构建 | 只针对 Android 5 设备,并继续匹配架构 |
- 打开设置中的“关于手机”或“设备信息”,查看 Android 版本和处理器架构。
- 如果显示 ARM64、AArch64 或 64 位 ARM,选择
arm64-v8a。 - 如果只确认设备是 ARM、但无法确定 32 位还是 64 位,选择官方 universal 构建。
- 如果设备是 Android 5,在官方 Release 的 Assets 中查找
legacy-android-5文件;不要用普通构建替代。 - 下载后再计算 SHA-256,校验对象是原始 APK,而不是解压后的内容。
官方文档写明 SFA 的总体要求为 Android 5.0 及以上;但具体分发渠道和构建可能有更高要求。例如 F-Droid 当前列出的版本页面标注需要 Android 7.0 或更新版本,因此应以所选渠道对应页面为准。查看 F-Droid 的 sing-box 应用详情
安装后导入 Local 或 Remote 配置
sing-box for Android 只是客户端,不会自动提供服务器、线路或订阅。你需要准备一份可用的 sing-box JSON 配置,或者准备一个能返回 sing-box JSON 的远程 profile 链接。
导入本地 JSON
- 打开 SFA,进入 Profiles 或配置文件页面。
- 点击新增,选择 Local 类型。
- 从下载目录或文件管理器选择 sing-box JSON 文件。
- 保存后选中该 profile,先查看配置内容或状态,再尝试启动。
添加远程 profile
- 在 Profiles 页面点击新增,选择 Remote 类型。
- 填写远程配置 URL;如果服务要求认证,按提供方给出的方式填写。
- 保存后选中 profile,并检查首次更新是否成功。
- 远程 profile 的自动更新默认间隔为 60 分钟;如客户端界面提供更新间隔选项,可按页面设置调整。
官方客户端规范定义了 Local 和 Remote profile,并规定了远程配置的一键导入 URL Scheme:
sing-box://import-remote-profile?url=urlEncodedURL#urlEncodedName实际使用时,URL 和名称应进行 URL 编码;如果点击链接没有唤起 SFA,可改为复制链接后在应用内手动新建 Remote profile。查看官方客户端 Profile 说明
如果拿到的是其他客户端专用格式,不要直接改文件后缀冒充 JSON。可先使用本站的第三方机场配置文件转换教程核对格式,再回到 SFA 检查配置是否能正常解析。
启动 TUN、分应用代理与 Android DNS 排查
- 选中已经导入的 profile,点击启动或连接。
- 第一次启动 TUN 时,Android 会弹出 VPN 请求,确认允许。
- 如果系统提示已有 VPN 正在使用,先关闭其他 VPN 应用、网络防火墙或同类接管工具。
- 进入 SFA 的分应用代理设置,确认目标应用没有被加入绕过列表;如果使用白名单模式,要确认目标应用被选中。
- 如果界面显示运行但域名打不开,临时将 Android 的“私人 DNS”改为自动或关闭,仅用于对比测试;若这样恢复,继续检查远程 profile 中的 DNS、TUN 路由和系统 DNS 设置。
- 查看日志,确认目标域名是否命中预期路由,以及是否出现 DNS 失败、出站连接失败或配置解析错误。
官方 Android 功能说明确认 SFA 支持通过图形界面选择需要代理或绕过的应用,并对应 sing-box 配置中的 include_package 和 exclude_package。查看 Android 分应用代理说明
验证是否真正生效,不要只看“已连接”状态:一方面查看连接日志中是否出现目标域名的策略或出站命中,另一方面对比启动前后的出口 IP。若只是某个应用不生效,优先检查分应用代理;若所有应用都不通,再检查 DNS、VPN 权限和 profile 内容。
安装失败、配置错误和后台断开怎么办
| 现象 | 先检查 | 处理方法 |
|---|---|---|
| 应用未安装或解析错误 | Android 版本、架构、旧版本签名 | 换对应架构或 Android 5 legacy 构建;如来源不同,先备份配置再处理旧应用 |
| 配置格式错误 | 文件是否真的是 sing-box JSON | 确认响应不是 HTML、空内容、Base64 或其他客户端专用订阅格式 |
| VPN 权限冲突 | 其他 VPN、网络防火墙、系统 VPN | 一次只保留一个 VPN 服务运行,再重新启动 |
| 启动后立即停止 | 日志第一条明确错误 | 优先修复解析、DNS 或出站错误,不要反复点击启动 |
| 显示运行但网页打不开 | TUN、私人 DNS、分应用代理和出站 | 临时关闭私人 DNS 做对比,并检查日志中的 DNS 和路由命中 |
| 后台一段时间后断开 | 电池优化、后台活动、后台数据 | 允许 SFA 后台运行并忽略电池优化;具体菜单名称以手机厂商为准 |
如果问题只在升级后出现,保留原配置文件和日志,再用此前可用的稳定构建进行对照。不要把桌面端或其他客户端的配置字段直接套到 Android 版;升级相关问题可参考本站的sing-box 升级报错排查。
本文是第三方使用指南,未代表 sing-box 项目方或任何下载渠道发布声明。
常见问题
sing-box for Android 是官方客户端吗?
官方文档把 Android 客户端称为 SFA,用于管理和运行本地或远程 sing-box 配置,并提供 TUN 透明代理等平台功能。下载时应从官方 Android 页面列出的渠道进入。
Android 5 手机应该下载哪个 APK?
在官方 Releases 的 Assets 中选择带有 legacy-android-5 的构建,再按 ARM 或 x86 架构匹配;不要把普通构建和 Android 5 legacy 构建混用。
arm64-v8a 和 universal 怎么选?
确认设备是 64 位 ARM 时选择 arm64-v8a;无法确认架构时选择官方 universal,文件通常更大但更容易避免架构选错。
安装 sing-box 后为什么没有节点或订阅?
因为 SFA 是客户端,不是服务器或订阅服务。安装后仍需导入有效的 sing-box JSON 配置,或添加能返回 sing-box JSON 的 Remote profile。
导入配置后 VPN 权限冲突怎么办?
先关闭其他 VPN、系统网络防火墙和同类接管工具,再启动 SFA。Android 上同时运行多个 VPN 服务时,常会出现权限冲突。
显示已连接但应用仍然无法访问怎么办?
按顺序检查分应用代理、TUN、私人 DNS、配置中的 DNS 和出站,并查看日志是否出现目标域名的路由命中或错误。