我正尝试从RaspBerry Pi上的Android Things应用的USB驱动器读取文件。 我能够扫描挂载设备的列表,如下所示:
public static List<File> ScanForFiles(Context context){ ArrayList<File> files = new ArrayList<>(); try{ BufferedReader reader = new BufferedReader(new FileReader("/proc/self/mountinfo")); String line; while ((line = reader.readLine()) != null) { String[] columns = line.split(" "); Log.i(TAG,"Mounted: " + columns[4]); //files.addAll(getListFiles(new File(columns[4]))); } } catch (Exception ex){ ex.printstacktrace(); } printFile@R_768_4045@ion("/proc/partitions"); return files; } private static void printFile@R_768_4045@ion(String fileName){ Log.i("TitanTV","Reading contents of " + fileName); try{ BufferedReader reader = new BufferedReader(new FileReader(fileName)); String line; while ((line = reader.readLine()) != null){ Log.i("TitanTV",line); } } catch (Exception ex){ ex.printstacktrace(); } }
我:挂载:/
我:挂载:/ dev
我:挂载:/ dev
我:挂载:/ dev / pts
我:挂载:/ dev / memcg
我:挂载:/ dev / cpuctl
我:挂载:/ proc
我:挂载:/ sys
我:挂载:/ sys / fs / selinux
我:挂载:/ sys / fs / pstore
我:挂载:/ acct
我:挂载:/ mnt
我:挂载:/ mnt / runtime / default / emulated
I:挂载:/ mnt / runtime / read / emulated
I:挂载:/ mnt / runtime / write / emulated
我:挂载:/configuration
我:挂载:/数据
我:挂载:/ oem
我:挂载:/ gapps
我:挂载:/存储
我:挂载:/存储/模拟
我:挂载:/存储/自我
I:读取/ proc /分区的内容
我:主要次要#块名称
我:1 0 8192 ram0
我:1 8192 ram1
我:1 2 8192 ram2
我:1 3 8192 ram3
我:1 4 8192 ram4
我:1 5 8192 ram5
我:1 6 8192 ram6
我:1 7 8192 ram7
我:1 8 8192 ram8
我:1 9 8192 ram9
我:1 10 8192 ram10
我:1 11 8192 ram11
我:1 12 8192 ram12
我:1 13 8192 ram13
I:11418192 ram14
我:1 15 8192 ram15
I:179 0 7761920 mmcblk0
I:179 1 65536 mmcblk0p1
I:179 2 1024 mmcblk0p2
I:179 3 1024 mmcblk0p3
I:179 4 32768 mmcblk0p4
I:179 5 32768 mmcblk0p5
I:179 6 524288 mmcblk0p6
I:179 7 524288 mmcblk0p7
I:179 8 64 mmcblk0p8
I:179 9 64 mmcblk0p9
I:179 10 1024 mmcblk0p10
I:179 11 32768 mmcblk0p11
I:179 12 32768 mmcblk0p12
I:179 13 262144 mmcblk0p13
I:179 14 262144 mmcblk0p14
I:179 15 2683736 mmcblk0p15
I:8 0 7847935 sda
我:8 1 7845888 sda1
但是,我的拇指驱动器不在列表中。 所以我猜我需要以某种方式安装它。 如何安装拇指驱动器并访问其上的文件?
如何提供overlayfs的嵌套装载
在Linux上的C + +装载NTFS设备?
允许Apache / PHP对已挂载的目录进行读/写访问
装载点归属
克隆后用CLONE_NEWNS标志装载文件系统
挂载档案,例如* .zip(在没有驱动程序的内核模式下工作)
看起来像现在USB驱动器没有自动安装。 为了使你的代码工作,我不得不手动安装它。
正如您在/proc分区中所看到的(从/proc/partitions ),USB驱动器被检测为sda 。
ADB安装
建立一个目录来挂载
mkdir /mnt/usb
安装设备
mount -t vfat -o rw /dev/block/sda1 /mnt/usb
现在,您应该能够通过ADB和应用程序( /mnt/usb也将被记录)列出(和管理)USB驱动器上的文件。
我没有测试过,但是你可以尝试使用Runtime.getRuntime().exec(...)编程的方式执行相同的步骤。 最有可能的su需要先获得。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。