ADB 授权实战——WRITE_SECURE_SETTINGS 与无障碍服务的命令行开启
有些权限的授予入口被系统藏起来了(或者根本没有入口),只能通过 ADB——电脑上用命令行指挥手机。这一页是完整的 ADB 流程,从零连通到两条关键命令。
第一步:让手机能被电脑指挥
- 开开发者选项:设置 - 关于手机,连点「版本号」七次

- 开 USB 调试:开发者选项里打开 USB 调试,数据线连接电脑

- 装平台工具:从安卓开发者官网下载 Android SDK Platform Tools,解压
- 连通:在解压目录打开命令行,输入
adb devices,手机上弹出的授权框点允许

- 确认:再跑一次
adb devices,输出 device 状态才算连通

其他输出状态对照:空白或 no devices = 没连上(查线、查驱动);offline = 掉线重插;unauthorized = 手机上的授权框没点允许。
这流程偶尔抽风,多试几次是常态——官方文档也是这么提醒的。
第二步:授 WRITE_SECURE_SETTINGS
这个权限让 Key Mapper 能自动切换键盘(打字时切回你的输入法、设备连接时自动切换等)。三种授予方式,ADB 是其中之一:
adb shell pm grant io.github.sds100.keymapper android.permission.WRITE_SECURE_SETTINGS
- 已 root:设置里开「Key Mapper 有 root 权限」即可,不用命令
- 有 Shizuku:Shizuku 代授,不用电脑
- 都没有:就用上面这条命令
授权重启后依然有效;但卸载重装后要重新授一次。
第三步:命令行启用无障碍服务
厂商封了无障碍入口(部分电视、受限设备)时,ADB 直接把服务打开:
adb shell settings put secure enabled_accessibility_services io.github.sds100.keymapper/io.github.sds100.keymapper.service.MyAccessibilityService
建议顺手把第二步的 WRITE_SECURE_SETTINGS 也授了——之后 Key Mapper 可以自己管理服务的启停,不用每次都连电脑。
Oculus Quest 特例
Quest 的 v40 系统弄坏了大量应用的无障碍授权,需要一套组合命令(服务 + 权限 + 设备管理员 + 勿扰监听 + 白名单),完整命令清单在官方文档的 Oculus 页面,此处不重复。注意设了设备管理员后卸载前要先跑对应的停用命令。
ADB 是授权层面的重活。下一页看软件层面最重磅的开关:Expert Mode——熄屏重映射。