NekoBox 分应用不是给每个 App 填一个代理端口。Android 上先由 VPN 接管流量,再按 App 归属决定是否进入代理链路。选错名单模式,或者选错包名,表现就是「我明明勾了,但没生效」。

NekoBox for Android 基于 sing-box 等工具链。sing-box 的路由文档里,Android 分应用相关字段是 package_namepackage_name_regex,不是桌面系统常见的 process_name

你现在选的是代理名单还是排除名单?

先看 App Routing 的模式,不要一上来就怀疑订阅或规则。两个模式刚好相反,选错后界面看起来没问题,实际方向完全反了。

模式实际效果常见误用
只代理指定 App只有勾选的 App 进入代理链路想排除某个 App,却选了这个模式
排除指定 App勾选的 App 不进入代理链路想只代理某个 App,却选了这个模式
全部 App不做分应用筛选误以为规则仍按 App 生效

保存 App Routing 后,要强制停止目标 App 再重新打开。很多 App 会保留长连接,改完名单后旧连接不一定马上重建。

为什么包名比图标更可靠?

双开、工作资料、平行空间都会制造相似图标。图标一样,包名不一定一样;包名一样,也可能在不同 Android user 下面对应不同实例。

用 adb 看包名:

adb shell pm list packages | grep -i chrome
adb shell dumpsys package com.android.chrome | grep userId

sing-box Android 路由字段示例:

{
  "route": {
    "rules": [
      {
        "package_name": ["com.android.chrome"],
        "outbound": "proxy"
      }
    ],
    "final": "direct"
  }
}

process_nameprocess_path 这些字段在 sing-box 文档里标注为 Linux、Windows、macOS 支持。排查 Android 分应用时,先把注意力放在 package_name

工作资料和双开 App 怎么查?

工作资料会把 App 放在另一个用户空间。NekoBox 列表里可能看不到主空间同名 App,或者看到的是另一个实例。

排查时做两件事:

  1. 在系统设置里确认目标 App 属于主空间还是工作资料。
  2. 用 adb 看不同 user 下的包:
adb shell pm list users
adb shell pm list packages --user 0 | grep 包名
adb shell pm list packages --user 10 | grep 包名

双开工具生成的包名可能带后缀,也可能使用独立 UID。只按应用图标勾选,很容易选错实例。

Private DNS 要不要先关掉?

排查时建议先关一次。Android Private DNS 会让 DNS 请求走系统自己的加密解析,你可能看到 App 流量进了 NekoBox,但域名没有出现在 NekoBox 记录里。

关闭路径一般是:系统设置 → 网络和互联网 → Private DNS → Off。不同 Android 厂商翻译不一样,关键词通常是 Private DNS 或私人 DNS。

关闭后重新连接 NekoBox,再打开目标 App。此时看连接记录里是否出现目标域名和对应出站,比只看网页能不能打开更可靠。

多设备共用配置时,订阅要放在哪里?

手机只做 App Routing,桌面还要跑 Clash / Singbox / V2Ray 时,最容易乱的是同一份订阅被不同客户端改写成不同格式。Android 端排错时先保留一份干净配置,桌面端另存副本,避免两个客户端同时改规则。

如果你要让手机和桌面沿用同一套客户端配置,可以用兼容 Clash / Singbox / V2Ray 的订阅作为配置来源;NekoBox 分应用是否命中,仍然要回到 Android 包名和连接记录确认。

怎么确认分应用已经生效?

不要用「网页能打开」当唯一标准。按下面 4 个信号看,至少命中前 3 个再继续调规则:

  • Android 状态栏有 VPN 标识。
  • NekoBox 连接记录出现目标 App 的域名。
  • 目标 App 命中的 outbound 和你设置一致。
  • 未勾选的 App 没有进入同一条链路。

如果第 1 条没有出现,先回到 NekoBox 连接状态;如果第 2 条没有出现,再查 App Routing、包名、工作资料和 Private DNS。

相关阅读

FAQ

NekoBox 分应用为什么选了 App 还是不生效?

多数是名单模式选反了:想只代理某个 App,却用了排除名单;或 App 在工作资料、双开空间里,实际包名和主空间不同。先查包名,再看连接记录。

Android 上应该按进程名还是包名匹配?

Android 分应用优先看 package_namepackage_name_regex。sing-box 文档里的 process_name 主要面向 Linux、Windows、macOS,不适合作为 Android 排查起点。

工作资料里的 App 为什么不在列表?

工作资料会把 App 放进隔离用户空间,列表里可能显示另一个实例,也可能看不到主空间同名 App。先确认 App 属于哪个用户空间,再核对包名。

Private DNS 会影响分应用吗?

会影响 DNS 观察结果。App 流量可能已经进入 NekoBox,但域名解析被 Android Private DNS 接管,连接记录看起来就像没命中。排错时先临时关闭它。