Android USB 权限授权流程
为什么要授权
EtchDroid 通过 Android USB Host API 与 U 盘通信。出于安全设计,Android 不允许应用在未获得用户明确同意的情况下读写 USB 外设——这和普通文件权限不同,它是一次一次性的运行时权限请求。
完整授权流程
- 把 U 盘通过 OTG 连接到手机
- 打开 EtchDroid
- 选择完镜像文件后,EtchDroid 会枚举 USB 设备
- 系统弹出权限请求对话框:"是否允许 EtchDroid 访问 USB 设备 [U 盘品牌型号]"
- 点击"允许"
权限对话框里的几个选项
Android 版本不同,对话框的形式略有差异:
| 选项 | 含义 | 推荐 |
|---|---|---|
| 允许(本次) | 只在当前 EtchDroid 会话里有效,下次打开还要重新授权 | 安全优先的用户选这个 |
| 允许(始终) | 该 U 盘下次插入时自动授权,不再弹窗 | 日常用户推荐 |
| 拒绝 | EtchDroid 无法访问 USB 设备 | — |
| 拒绝且不再询问 | 以后该 U 盘永远不再弹窗,需手动去设置里解除 | 意外点到会造成困扰 |
如果没有弹出权限对话框
排查清单:
- U 盘是否被正确识别:插好 OTG 线 + U 盘后,下拉通知栏应该能看到一个 USB 相关通知。如果没有通知,说明手机的 USB Host 枚举阶段就失败了——检查 OTG 线、检查 U 盘是否坏了、换一个 USB 口试试
- 手机是否真的支持 OTG:某些低端安卓手机硬件上缺少 USB Host 控制器,不支持 OTG
- USB 权限被系统拒绝:某些国产定制 ROM(MIUI、EMUI、ColorOS 等)有额外的安全层,可能会拦截 EtchDroid 的 USB 访问请求。检查系统设置里的"USB 调试安全设置"、"权限管理"等
- EtchDroid 版本过旧:较老版本的 EtchDroid 在某些 Android 13+ 的设备上 USB 权限处理有 bug。v2.0+ 修复了大量这类问题
授权后的状态
权限授权成功后,EtchDroid 会进入"选择目标 USB 设备"的界面——列出当前所有通过 USB Host 协议连接的、支持 MSC 的设备。到这一步才算真正进入写入准备阶段。