keymapper 中文文档 下载 App

ADB 授权实战——WRITE_SECURE_SETTINGS 与无障碍服务的命令行开启

有些权限的授予入口被系统藏起来了(或者根本没有入口),只能通过 ADB——电脑上用命令行指挥手机。这一页是完整的 ADB 流程,从零连通到两条关键命令。

第一步:让手机能被电脑指挥

  1. 开开发者选项:设置 - 关于手机,连点「版本号」七次
关于手机页面连点版本号开启开发者选项
关于手机
  1. 开 USB 调试:开发者选项里打开 USB 调试,数据线连接电脑
开发者选项中的 USB 调试开关
USB 调试
  1. 装平台工具:从安卓开发者官网下载 Android SDK Platform Tools,解压
  2. 连通:在解压目录打开命令行,输入 adb devices,手机上弹出的授权框点允许
手机上的 USB 调试授权弹窗
授权弹窗
  1. 确认:再跑一次 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

授权重启后依然有效;但卸载重装后要重新授一次。

第三步:命令行启用无障碍服务

厂商封了无障碍入口(部分电视、受限设备)时,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——熄屏重映射。