簡體   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