Android-USB-Gadget:将您的Android手机转变为任意USB设备
Android-USB-Gadget 是一个开源项目,旨在将 Android 手机转变为多种不同的 USB 设备。该项目主要使用 Kotlin(75.7%)、Shell(22.5%)和 Java(1.8%)进行开发。
核心功能
该项目允许用户创建并激活多种 USB 设备角色,如鼠标或键盘。通过连接到 USB 主机(例如普通电脑),Android 设备将仅以该角色被识别。此外,该工具还可以用于停用标准 USB 设备(包括 MTP、ADB 等),例如出于安全考虑。
集成的 USB 设备包括:
- 键盘 & 鼠标 (
/dev/hidg0
,/dev/hidg1
) - FIDO CTAP (
/dev/hidg0
, 用于 WebAuthn) - CCID (
/dev/ccid_ctrl
,/dev/ccid_bulk
) - UVC 摄像头 (
/dev/video
)
Android-USB-Gadget 需要 root 权限和支持 ConfigFS 的内核。
最近更新的功能
最近更新的功能包括:
- 如果
/config
挂载点不可用,则会提示错误。 - 如果 ConfigFS 不受支持,则会发出警告。
- 导入自定义 USB 设备配置文件。
- 提供了示例 USB 设备使用方法(目前 Android-USB-Gadget 仅管理 USB 设备,不包括这些设备的实现)。
- 可选的遥测功能,用于更好地理解不同 Android 厂商如何编译其内核(例如,哪些 USB 设备可用)。
该项目为开发者提供了一个灵活的工具,通过简单的用户界面即可方便地管理和激活 USB 设备,为 Android 设备增添了更多的可能性。