在Android中创建硬链接和符号链接

Ash*_*dva 14 java filesystems symlink android hardlink

我正在创建一个应用程序,我想在Android外部内存文件系统中使用硬链接和符号链接.我尝试过使用这些命令

Os.link("oldpath", "newpath");
Os.link("oldpath", "newpath");
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试这个时,我收到此错误:

link failed: EPERM (Operation not permitted)
Run Code Online (Sandbox Code Playgroud)

这让我觉得你需要root访问权限,虽然我已经看到其他人做同样的事情,但我不认为如果他们需要root,他们会有这些命令.有任何想法吗?

Kam*_*ood 12

调用Os.link失败,因为Android默认使用FAT32文件系统进行外部存储.FAT32文件系统不支持硬链接和软链接,这就是您不允许操作错误的原因.

EPERM 包含oldpath和newpath的文件系统不支持创建硬链接.

您可以在此处阅读有关链接系统调用的更多信息

此外,您不能准确地伪造​​FAT32上的硬链接或软链接.另请注意,在Android中创建硬链接需要root权限.