Создание жестких и символических ссылок в Android

Я создаю приложение, в котором я хотел бы использовать жесткие ссылки и символические ссылки в файловой системе внешней памяти Android. Я пробовал использовать команды

Os.link("oldpath", "newpath");
Os.link("oldpath", "newpath");

однако, когда я пытаюсь это, я получаю эту ошибку:

link failed: EPERM (Operation not permitted)

Это заставляет меня думать, что вам нужен root-доступ, хотя я видел, как другие люди делают то же самое, и я бы не подумал, что у них будут эти команды, если им нужен root. Есть идеи?

1 ответов


вызов ОС.ссылка не работает, потому что Android использует файловую систему FAT32 по умолчанию для внешнего хранилища. Файловая система FAT32 не поддерживает жесткие и мягкие ссылки, поэтому вы получаете недопустимую ошибку операции.

возникновения ошибки EPERM файловая система, содержащая oldpath и newpath не поддерживают создание жестких ссылок.

вы можете прочитать более подробную информацию о ссылке системный вызов здесь

кроме того, вы не можете подделать жесткие ссылки или мягкие ссылки на FAT32 точно. А также обратите внимание, что для создания жесткой ссылки в Android требуется разрешение root.