Создание жестких и символических ссылок в 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.