在获得 root 权限的 Android 设备中访问和操作外部 USB 存储上的文件和目录

Access and manipulate files and directories on an external USB storage in a rooted Android device

我现在很清楚,(目前)在 Android 的外部 USB 设备中复制、移动等文件非常困难,因为没有高级 类 可以做这个。

我正在考虑让我的应用程序只在获得 root 权限的设备上运行。我读到过在有根 android 设备中将文件复制到 USB 设备和从 USB 设备复制文件是可能的(而且更容易),因为可以为此使用操作系统命令。

但是,我没有发现任何有关如何真正做到这一点以及它是否适用于所有已获得 root 权限的设备的信息。

我需要的是允许 UI 用户浏览设备中的文件,select 那些他想要的,并允许他将文件复制到 android设备(和背面)。

外部 USB 存储应该在 /storage/ 中找到。那里有 A-F 的 USB 驱动器。至于选择文件,你可能想尝试AndroidFileBrowser。这是您可以用来复制文件的代码片段:

public void copy(File src, File dst) throws IOException
{
InputStream in = new FileInputStream(src);
OutputStream out = new FileOutputStream(dst);

// Transfer bytes from in to out
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) {
    out.write(buf, 0, len);
}
in.close();
out.close();
}