在android Nexus 7上安装U盘

在android Nexus 7上安装U盘,android,usb,mount,nexus-7,Android,Usb,Mount,Nexus 7,我的应用程序需要通过OTG电缆从根Nexus7平板电脑访问U盘上的文件。我已经对此进行了广泛的研究,发现了一些相关的帖子,但没有找到真正的答案 我知道这是可能的,因为我可以用stickmount挂载它,虽然我不能使用第三方软件,所以我需要自己重新实现它 当我插入U盘时,它在/dev/bus/USB/001中显示为001,因此我希望它会像以下一样简单: Runtime.getRuntime().exec("su -c \"mount /dev/bus/usb/001/001 /sdcard/tes

我的应用程序需要通过OTG电缆从根Nexus7平板电脑访问U盘上的文件。我已经对此进行了广泛的研究,发现了一些相关的帖子,但没有找到真正的答案

我知道这是可能的,因为我可以用stickmount挂载它,虽然我不能使用第三方软件,所以我需要自己重新实现它

当我插入U盘时,它在/dev/bus/USB/001中显示为001,因此我希望它会像以下一样简单:

Runtime.getRuntime().exec("su -c \"mount /dev/bus/usb/001/001 /sdcard/test\"");
但这不起作用。一个小小的烤面包突然冒出来

    myApp has been given superuser permissions:

    mount /dev/bus/usb/001/001 /sdcard/test
但它没有安装

我是否格式化了命令,或者这是一种完全错误的方式?我怎么才能把这玩意儿装上去


谢谢

您正在尝试挂载原始USB设备,但这不起作用。您需要安装USB大容量存储驱动程序导出的设备。在传统的linux上,这可能是/dev/sda1或类似的,但谁知道在您的设备上会是什么呢。适当的/dev节点甚至可能不存在,因此您可能必须首先创建它。查看dmesg和/proc/partitions,看看内核是否将其识别为一个存储设备,如果是,那么相应的设备节点需要有哪些主编号和次编号。因此,我发现当插入U盘时,我在/dev/bus/usb/001和002中得到了两个原始文件,在/dev/usb中也得到了两个文件,我不知道我是怎么做的在称为bsg1-1:1.0和scsi_generic1-1之前错过了这个。在/proc/partitions中,有sda和sda1的条目,它们的主次顺序为8-0和8-1。我如何使用它来创建节点?U盘上会有一个文件,我只需要把它拔出来。。。如果我不挂载原始USB设备,有没有办法让我直接使用它?是的,但是你必须至少实现一部分文件系统来对抗原始USB大容量存储操作,也就是说,自己发出实际的USB请求,这有利于在Android上工作,没有根。如果你真的能控制棒上的内容,你可以跳过文件系统,从一开始就写数据,但这对普通用户来说是很难做到的。我只需要从棒上拉一个文件。这将是那里唯一的东西。我可以从我的应用程序中使用inputstream读取原始文件吗?还是比这更复杂一点。