Saya memiliki file di /data/data:

# ls -la /data/data/com.package/files/file.json
-rwxrwxrwx u0_a104  u0_a104

Saya mencoba membacanya dari UID yang berbeda (1000, sistem UID):

new FileInputStream(FILE)

Dan mendapatkan "EACCES (Izin ditolak)".

Tingkat API adalah 21.

Mengapa, jika saya telah menetapkan hak 777 di atasnya?

UPD. Saya dapat membaca file dari adb dengan uid = 2000 (bukan root).

0
artem 15 Maret 2017, 13:55

2 jawaban

Jawaban Terbaik

Yah, saya telah menemukan bahwa masalahnya ada di SELinux. Setelah menonaktifkan SELinux semuanya OK.

0
artem 15 Maret 2017, 13:59

Ini adalah izin tingkat aplikasi, Anda tidak dapat mengakses menggunakan hak, Jika perangkat Anda di-rooting maka Anda dapat menggunakannya jika tidak, Anda tidak bisa.

3
Jd Prajapati 15 Maret 2017, 10:57