尽管Android4.4以上无法使用"大容量存储模式"(mass_storage),但内核中仍然包含对mass_storage驱动.
root@land:/ # ls |grep usb
init.qcom.usb.rc
init.qcom.usb.sh
init.usb.configfs.rc
init.usb.rc
Android通过根目录下的`init.usb.rc`对usb gadget进行配置,其中对mass_storage的配置不完整,需要手工配置后即可使用mass_storage.
主要有两种配置方式: 通过sysfs配置和通过configfs配置(无需root),(貌似还有就得lagecy方式).
大部分手机适用于sysfs配置, 但使用三星芯片的一些手机可能需要使用configfs配置(sysfs配置后默认为CD ROM). 由于我的手机只能使用sysfs配置, 下面介绍sysfs配置的方法:
在/sys 中有 `devices/virtual/android_usb` 以及 `class/android_usb` ,下级有`android0`目录(一些手机对内核有修改, 具体路径可能不一样).
root@land:/sys # find -name android_usb
./bus/platform/drivers/android_usb
./devices/virtual/android_usb
./class/android_usb
以下假定当前目录为`/sys/class/android_usb/android0`
c