Android USB Gadget 项目教程
项目介绍
Android USB Gadget 是一个开源项目,允许用户将Android设备转换为任意USB设备。通过使用ConfigFS,该项目可以在Linux内核中创建任意USB复合设备。用户可以激活USB设备角色,如鼠标、键盘、UVC摄像头等,从而使Android设备在连接到主机时被识别为这些角色。
项目快速启动
环境准备
- 确保Android设备已root。
- 确保内核支持ConfigFS。
安装步骤
-
克隆项目仓库:
git clone https://github.com/tejado/android-usb-gadget.git
-
进入项目目录:
cd android-usb-gadget
-
运行安装脚本(假设脚本名为
install.sh
):./install.sh
激活USB Gadget
- 使用以下命令激活USB Gadget(以鼠标为例):
echo "mouse" > /config/usb_gadget/g1/functions/hid.0/protocol echo "1" > /config/usb_gadget/g1/functions/hid.0/report_length echo -ne \\x05\\x01\\x09\\x02\\xA1\\x01\\x09\\x01\\xA1\\x00\\x05\\x09\\x19\\x01\\x29\\x03\\x15\\x00\\x25\\x01\\x95\\x03\\x75\\x01\\x81\\x02\\x95\\x01\\x75\\x05\\x81\\x01\\x05\\x01\\x09\\x30\\x09\\x31\\x15\\x81\\x25\\x7F\\x75\\x08\\x95\\x02\\x81\\x06\\xC0\\xC0 > /config/usb_gadget/g1/functions/hid.0/report_desc echo "1" > /config/usb_gadget/g1/os_desc/use echo "0xcd" > /config/usb_gadget/g1/os_desc/b_vendor_code echo "MSFT100" > /config/usb_gadget/g1/os_desc/qw_sign echo "0x00000000" > /config/usb_gadget/g1/idProduct echo "0x05c6" > /config/usb_gadget/g1/idVendor echo "0x01" > /config/usb_gadget/g1/bcdDevice echo "0x0200" > /config/usb_gadget/g1/bcdUSB echo "0x00" > /config/usb_gadget/g1/bDeviceClass echo "0x00" > /config/usb_gadget/g1/bDeviceSubClass echo "0x00" > /config/usb_gadget/g1/bDeviceProtocol echo "0x40" > /config/usb_gadget/g1/bMaxPacketSize0 echo "0x01" > /config/usb_gadget/g1/bcdUSB echo "0x02" > /config/usb_gadget/g1/bcdDevice echo "0x00" > /config/usb_gadget/g1/bDeviceClass echo "0x00" > /config/usb_gadget/g1/bDeviceSubClass echo "0x00" > /config/usb_gadget/g1/bDeviceProtocol echo "0x40" > /config/usb_gadget/g1/bMaxPacketSize0 echo "0x01" > /config/usb_gadget/g1/bcdUSB echo "0x02" > /config/usb_gadget/g1/bcdDevice echo "0x00" > /config/usb_gad