2017-07-04 70 views
12

Tôi đang tạo một ứng dụng mà tôi muốn sử dụng các liên kết cứng và liên kết tượng trưng trong hệ thống tệp bộ nhớ ngoài Android. Tôi đã cố gắng sử dụng các lệnhTạo các liên kết và liên kết cứng trong Android

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

Tuy nhiên, khi tôi cố gắng này, tôi nhận được lỗi này:

link failed: EPERM (Operation not permitted) 

này khiến tôi nghĩ rằng bạn cần truy cập root, mặc dù tôi đã thấy người khác làm điều này cùng một điều, và tôi sẽ không nghĩ rằng họ sẽ có những lệnh này nếu họ cần root. Bất kỳ ý tưởng?

+1

Trong đường dẫn nào bạn đang cố tạo liên kết cứng. –

+0

tôi nghĩ bạn nên kiểm tra các bước từ đây https://stackoverflow.com/a/30387667/3800377 –

+0

@KamilMahmood Tôi đang cố gắng tạo nó trên bộ nhớ ngoài –

Trả lời

10

Gọi tới Os.link bị lỗi vì Android sử dụng hệ thống tệp FAT32 theo mặc định để lưu trữ bên ngoài. Hệ thống tệp FAT32 không hỗ trợ liên kết cứng và liên kết mềm, đó là lý do bạn nhận được lỗi hoạt động không được phép.

EPERM The filesystem containing oldpath and newpath does not support the creation of hard links.

Bạn có thể đọc thêm thông tin về liên kết gọi hệ thống here

Bên cạnh đó bạn có thể không liên kết cứng giả hoặc liên kết mềm trên FAT32 chính xác. Và cũng lưu ý rằng để tạo liên kết cứng trong Android yêu cầu quyền root.

+0

Vì vậy, có cách nào để tôi có thể tạo một liên kết cứng hoặc một thứ gì đó tương tự cho việc sử dụng của tôi hay trường hợp của tôi được hiển thị không? @KamilMahmood –

+0

@AshwinKudva Tôi đã cập nhật câu trả lời –

Các vấn đề liên quan