虽然可能无法在没有root用户的情况下运行SMB服务器或使用端口转发,但也可以在没有root用户的情况下运行WebDAV服务器,从而达到类似的效果。
设置Android WebDAV服务器
在我的库存Nexus 7上,我安装了WebDAV Server,将其打开,单击“开始”按钮,然后立即可以/storage/sdcard
在Web浏览器中的应用程序显示的URL上看到我的文件夹,即http://192.168.x.y:8080
请注意,对于WebDAV,您还可以选择选择根(/)或DCIM以及SdCard作为WebDAV 根目录。
通过Windows资源管理器使用WebDAV服务器
然后http://192.168.x.y:8080
,我在Windows资源管理器中将其映射为网络驱动器,并且可以访问存储驱动器的内容,就像通过MTP(但通过驱动器号)进行连接一样。
可悲的是,此解决方案的速度非常慢。
每次目录更改都需要6到20秒,访问大多数文件也一样。但是,一旦访问了文件,它就会以合理的速度传输(在Windows资源管理器中复制单个42MB文件大约需要60秒,因此为700KB / s)。
因此,通过Windows Explorer的WebDAV可以下载一些您知道位置的大文件,但是用这种方式浏览或同步整个设备并不快。我在大约6000个文件和400个目录中同步了1.75GB的数据,这花费了10个小时,即平均每分钟大约50KB / s或10个文件/目录。
通过Windows命令行使用WebDAV服务器
即使从命令行,每个目录列表也需要5到6秒钟,任何文件访问也是如此。从命令行复制相同的42MB文件大约需要20秒钟,因此速度约为2.1MB / s。
通过Web浏览器使用WebDAV服务器
WebDAV最快的选择是直接通过给定的URL使用Web浏览器。更改目录很少需要超过一秒钟的时间,而从Web浏览器下载相同的42MB文件大约需要12秒钟,因此约为3.6MB / s。
使用网络浏览器的缺点是,它仅显示日期(没有大小或类型),并且在文件和目录之间没有区别,因此,如果文件没有扩展名(或目录没有扩展名),则可能不明显如果单击链接将带您到另一个网页(对于目录)或开始下载(对于文件)。
注意事项
默认情况下Windows WebDAV的限制将下载到50000000个字节(47.6MB)的大小,虽然这可以通过注册表黑客改变(FileSizeLimitInBytes
中HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
)如果你知道你在做什么。
WebDAV访问不安全。即使您在WebDAV共享上设置了密码,该连接仍然http
不是https
,因此未加密。仅在安全的wifi网络上使用WebDAV,并且当您在网吧或其他不安全的wifi中时,一定不要启用WebDAV服务器。
Wifi Explorer
(appbrain.com/app/wifi-file-explorer/…)几次,而且效果很好,不需要root用户。但是,它不是SMB(也可能不是FTP)。