繁体   English   中英

ANDROID:使用Java访问CIFS共享

[英]ANDROID: Accessing CIFS Shares in Java

我正在编写我的第一个Android应用程序,该应用程序或多或少将成为安装点管理器。 本地挂载和NFS挂载很容易,但是我不确定如何处理CIFS共享。

理想情况下,选择主机后,将显示CIFS共享列表。 至少,我应该能够输入CIFS URI /共享字符串并将其挂载(例如://192.168.1.100/mount_point)。 我正在考虑使用EStrongs,您可以在其中选择一个主机,它将显示共享,然后可以进行进一步探索。

我看过jCIFS(我认为这是Astro所使用的),并且我已经提到过xda-developers上的cifs.ko模块。 还有其他标准方法吗? 关于如何使用jCIFS或cifs.ko并进行一般操作的任何提示/建议? 我希望不必获得root访问权限。

在这里的Androider研究员,我过去研究过各种协议,这是我发现的:

如果必须是CIFS,那么我建议使用jCIFS。 正如您所提到的,Astro确实会使用它,而EStrongs也是如此。 并且... lyssoft的AndSMB也是如此。 因此,我非常确定这是“执行”标准方法。

如果您只考虑支持SMB,则可能对此感兴趣: http : //java-source.net/open-source/network-clients/jftp

另外,对于其他协议,这是一个值得细读的清单: http : //java-source.net/open-source/network-clients

希望能有所帮助。

因为Android是Linux,所以您可以使用内核驱动程序,但是加载这些驱动程序需要root权限,或者可以使用FUSE ,据说该功能自Gingerbread以来就受支持(我自己还没有尝试过),或者确实可以使用Java库(如JCIFS)

Wireshark的快速捕获显示EStrongs也使用jCIFS,所以这也是我的建议。 jCIFS被编写为CIFS客户端工具包,因此它应该适合您的项目目标。 它本身并不“装载”远程文件系统,但使您可以访问文件,目录,共享列表等。如何显示这些信息取决于您。

另一个资源是《 实现CIFS》 ,这是一本有关SMB / CIFS协议套件内部的在线书籍。 特别要看一下附录D ,它涵盖了SMB URL格式。 SMB URL比原始文章(上)中使用的模拟UNC格式更可取。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM