0

我已经使用 apache.ftpserver 库为 android 实现了一个小型 ftp 服务器。现在,当我从客户端连接到 ftp 服务器时,我可以读取和写入 sd 卡的内容。当我尝试读取已安装的 USB 驱动器时,我也可以这样做。但是当我尝试在 USB 上写东西时问题就来了。它不允许我在 USB 上写任何东西。

查看来自 ftp 客户端的目录权限,我可以看到 USB 驱动器没有写入权限 (W),但只有执行权限 (X)。

我对 android 开发相对较新,这个问题对专家来说可能看起来很蹩脚,但我仍然想问我是否需要做一些额外的事情来启用 USB 写入。

我对服务器的实现非常简单,几乎与本文中的实现相同。

http://ahmedzubayr.wordpress.com/2012/08/02/ftp-server-using-apache-ftpserver-library/

4

1 回答 1

0

我找到了解决方案。问题的原因是 USB 驱动器挂载了 media_rw 组,而该组仅有权将任何内容写入磁盘。

现在从应用程序的角度来看,它需要两件事。

  1. WRITE_MEDIA_STORAGE 使用应用程序清单中的权限。
  2. 使用用于签署 android 操作系统的相同密钥签署应用程序。

第一步是确保应用程序应该能够写入 media_rw 组中的文件夹。第二步是必要的,因为写入 media_rw 组文件夹的权限仅取决于系统应用程序或使用与 android 操作系统相同的密钥签名的应用程序。

通过这两个添加的更改,写入 USB 驱动器就像一个魅力。

于 2013-05-16T04:21:25.643 回答