解决方案:使用SManager自动挂载USB设备
在尝试通过SManager自动运行一个Shell脚本以挂载移动存储设备时,你遇到了一些问题。让我们来解决这些问题。
- 确认系统支持与配置:
- 检查你使用的手机是否支持通过OTG(On-The-Go)连接外接USB设备。
确认你的Android版本和固件是否允许使用这些功能。
脚本创建与测试:
- 创建一个Shell脚本,包含基本的调试信息。确保脚本有执行权限。
sh
#!/system/bin/sh
echo "Script started" >> /sdcard/myusb.log
su >> /sdcard/myusb.log 2>/dev/null &
echo 1 > /sys/bus/usb/devices/1-1/bConfigurationValue
echo "Return code is \$?" >> /sdcard/myusb.log 在SManager中,确保启用“Su”选项,并允许脚本使用root权限。
确认配置:
- 检查你的
SManager Config
中的设置是否正确。特别注意是否有任何限制或需要特殊手动操作的地方。 如果有弹出窗口,请确保按下相应的按钮以通过SuperUser请求。
增加调试信息:
- 在脚本中加入额外的日志记录,以帮助诊断问题。
sh
#!/system/bin/sh
echo "Script started" >> /sdcard/myusb.log
su >> /sdcard/myusb.log 2>/dev/null &
su -c 'echo 1 > /sys/bus/usb/devices/1-1/bConfigurationValue' >> /sdcard/myusb.log 2>/dev/null
echo "Return code is \$?" >> /sdcard/myusb.log 运行脚本后查看
/sdcard/myusb.log
,以获取更多信息。检查USB设备的电流需求:
了解你的USB闪存盘的最大电流需求,并确保其不超过手机和OTG接口的安全范围。
sh
cat /sys/bus/usb/devices/1-1/bMaxPower >> /sdcard/myusb.log调试与优化:
如果脚本仍然无法执行或出现问题,尝试在
Terminal Emulator
应用中直接运行整个命令字符串(包括su
),并查看是否有任何错误信息。
sh
su -c 'echo 1 > /sys/bus/usb/devices/1-1/bConfigurationValue' >> /sdcard/myusb.log 2>/dev/null测试与验证:
- 检查手机和SD卡中的日志文件,查找任何错误或者警告信息。
- 如果一切正常,USB设备应该能顺利挂载并使用。
通过遵循这些步骤,你应能够解决脚本运行过程中的问题,并成功自动挂载移动存储设备。如果仍旧有问题,请进一步检查是否有权限或其他限制导致的问题。
正文完