我正在寻找一种以编程方式安装Samaba股票的方法。
我知道this question,如果它有效,它将允许浏览我的应用程序中的Samba共享,但我希望这些共享在安装后可供其他应用程序使用。< / p>
我知道ES文件资源管理器可以执行此操作,因此必须可以在代码中实现,但我正在尝试弄清楚它是如何完成的。我能想到的唯一方法是使用Runtime.getRuntime()。exec(...)打开一个进程但是接下来会发出什么命令的问题。我一直在终端模拟器应用程序中玩,标准的mount命令似乎不起作用。我尝试了以下内容: 和 但是在这两种情况下我都收到了相当无法提供信息的错误消息“mount:no such device” 我哪里可能出错?mount -t smbfs //[ipaddress] /mnt/sdcard/net/Share1
mount -t cifs //[ipaddress] /mnt/sdcard/net/Share1
答案 0 :(得分:5)
您的内核目前可能不支持smbfs / cifs。正如Delyan所述,确保您的内核可以挂载这些文件系统:
$ cat /proc/filesystems
nodev sysfs
nodev rootfs
nodev bdev
nodev proc
nodev cgroup
nodev tmpfs
nodev debugfs
nodev sockfs
nodev usbfs
....
如果没有列出,你应该尝试进行modprobing(有时你只需要激活你想要的模块),然后获得root访问权限:
# modprobe <modulename(without.ko)>
e.g。 :
# modprobe cifs
如果它不起作用,您将不得不更改或重新编译内核(包括适当的模块)。
答案 1 :(得分:1)
我遇到了完全相同的问题。 Cifs经理正在工作,但来自终端的命令却没有。无论如何,对我来说,事实证明我只需稍微修改命令就可以了。请尝试以下命令:
mount -o username = guest,password = guest -t cifs // [ipaddress] / [share] / sdcard / cifs / nas
确保在运行命令之前存在本地文件夹/ sdcard / cifs / nas(或您所需的等效文件夹),否则您可能会得到一个&#34;文件或目录不存在&#34;错误。