gkd 中文文档 下载 App

gkd adb 授权失败:写入安全设置权限授予报错的处理

走高级授权的手动方式时,需要在电脑上用 adb 给 GKD 授予写入安全设置权限。这一步报「权限不够」是高频问题,官方 FAQ 专门给了解法。

命令与报错

要执行的命令:

adb shell pm grant li.songe.gkd android.permission.WRITE_SECURE_SETTINGS

部分设备执行时抛出 SecurityException,报错关键词是 grantRuntimePermission: Neither user 2000 nor current process has android.permission.GRANT_RUNTIME_PERMISSIONS——意思是 shell 用户没有被授予管理运行时权限的能力。参考 Shizuku 官方文档的方案,这是厂商系统加了限制,需要在开发者选项里解除。

各品牌的解除方法

系统操作
HyperOS / MIUI(小米、POCO)开发者选项中开启「USB 调试(安全设置)」——注意不是「USB 调试」
ColorOS(OPPO、一加)开发者选项中关闭「权限监控」(或打开「禁止权限监控」)
Flyme(魅族)开发者选项中关闭「Flyme 支付保护」

解除限制后重新执行命令即可成功。

小米的补充说明

官方特别注明:如果开启「USB 调试(安全设置)」后仍然报错,可以尝试在 adb 命令前加 sudo 提升权限后再执行。

「USB 调试(安全设置)」是个容易被忽略的开关——它和普通的「USB 调试」是两项独立设置,后者只管连接,前者才授权修改安全设置。授权写入安全设置权限恰好需要后者。

排查顺序建议

  1. 确认用的命令是 pm grant li.songe.gkd android.permission.WRITE_SECURE_SETTINGS,包名没写错;
  2. 确认设备已开启「USB 调试(安全设置)」或对应品牌的限制已关;
  3. 换数据线 / 换 USB 口排除连接不稳(报错若变成 device offline 是连接问题,不是权限问题);
  4. 仍不行就换路:用 Shizuku 授权(见Shizuku 进阶),不用碰 adb。

授权成功的验证

命令执行成功没有输出即为成功。回到 GKD 授权状态页,高级授权一项应显示已获得;此后无障碍开关由应用自行控制,adb 这条路就完成使命了。