无法使用Android上的ftp服务器在已安装的USB驱动器上写入

时间:2013-05-10 12:56:08

标签: android apache ftp

我使用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/

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。出现此问题的原因是USB驱动器安装了media_rw组,并且该组仅具有向磁盘写入任何内容的权限。

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

  1. WRITE_MEDIA_STORAGE使用应用程序清单中的权限。
  2. 使用用于签署Android操作系统的相同密钥对应用程序进行签名。
  3. 第一步是确保应用程序应该能够写入media_rw组中的文件夹。第二步是必需的,因为写入media_rw组文件夹的权限仅适用于系统应用程序或使用与Android操作系统相同的密钥签名的应用程序。

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