记录一下解决 ChatGPT 安卓端 remote 无法连接 ChatGPT Win 桌面端的过程

nolog 2026-08-09 16:18 1

首先安卓设备是 OnePlus 12, Android 16, OOS, KernelSU root. 手机端使用 Bettbox, 非透明代理, Win 使用 Clash Party 仅系统代理非 TUN



  • 已通过 HMA OSS 对 ChatGPT 进行了白名单隐藏

  • 然后 Play Integrity 三绿


ChatGPT App 扫 Codex Desktop 的 Remote 二维码, 死活连不上, 提示 Pairing failed.


同一个号, 同一台电脑, 换台没 root 的备用机秒连. 起初以为是 KSU, PI 没过, 或者是 Clash/Mihomo 的分流问题. 折腾一圈发现都不行.


然后让 ChatGPT 搓了个只记录, 不修改结果的 LSPosed probe, 记录到了这些东西:


DEVICE_KEY_GENERATE phase=begin
DEVICE_KEY_PROTECTION phase=begin

DEVICE_KEY_PROTECTION
status=throw
java.security.ProviderException

stack:
AndroidKeyStoreSecretKeyFactorySpi#getKeyInfo
AndroidKeyStoreKeyFactorySpi#engineGetKeySpec
KeyFactory#getKeySpec
...

PAIRING_ERROR
httpStatus=<none>


看逻辑, ChatGPT 在 Remote 配对时, 会先在本地生成一把设备密钥 (KeyPairGenerator.getInstance("EC", "AndroidKeyStore"), secp256r1), 然后调 KeyFactory.getKeySpec(privateKey, KeyInfo.class) 校验这把 key 是不是硬件级别 (hardware-backed) 且不可导出的.


结果我的手机在读取 KeyInfo 这里直接抛了 ProviderException.


一开始怀疑是 TEE 被 root 搞坏了, 又让它专门写了个 Demo 测本地 AndroidKeyStore, 结果 insideSecureHardware=true, 完全正常.


实际上上面的分析我也不懂, 是 GPT 自己分析的.


最后发现是因为 TEESimulator 这个模块, ChatGPT 拒绝了 TEESimulator 模拟的 KeyStore.


然后删掉了 /data/adb/tricky_store/target.txt 中的 com.openai.chatgpt


删完强停重启 ChatGPT, 再扫码, 直接配对成功.


ChatGPT 真是我的神.


所以呢,



  1. 跟 PI 三绿无关: 两绿 ChatGPT 的普通功能就能正常使用.

  2. 跟 Root 检测无关: 启动时 Sentry 确实会扫 su 路径, 但那只是设备诊断报点 (当时 Sentry 拿到的是 rooted=false), 不是阻断 Remote 配对的原因.

  3. 跟网络/代理无关: 报错发生在本地密钥生成阶段, httpStatus=<none>, 请求连手机都没出.

最新回复 (5)
  • nolog 楼主 08-09 16:22
    1

    编辑有 bug 吗? 用的都是英文标点, 发出这部分就变成中文标点了 ^-^

  • Reno 08-09 16:25
    2

    /data/adb/tricky_store/target.txt



    我也深受这个问题苦难,可是我的小米手机,没这个data/adb目录,整个系统也搜不到target.txt文件

  • nolog 楼主 08-09 16:38
    3

    如果你没有 root 且没有安装帖子中提到的模块的话是没有 target.txt 这个文件的


    没有 root 连不上应该考虑排查一下网络问题

  • NB 08-09 16:55
    4

    macos 的倒是挺正常的,就是链接慢

  • Reno 08-09 17:02
    5

    有root,没安装TEESimulator模块。正常使用android achatgpt ,只有远程控制不行,开全局也不行。

* 帖子来源Linux.do
返回