微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Android Things应用程序上安装USB驱动器?

我正尝试从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标志装载文件系统

挂载共享文件夹(vBox)作为另一个用户

挂载档案,例如* .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] 举报,一经查实,本站将立刻删除。

相关推荐