Menggunakan program terminal-emulation termux ( https://termux.com ), saya mengetik perintah berikut:
ls /sdcard
Saya mendapatkan kesalahan berikut:
ls: can't open '/sdcard': Permission denied
Menyadari bahwa direktori / sdcard pada Android adalah symlink, saya mencoba mencari lokasi direktori sebenarnya - mengetahui bahwa itu bukan hanya symlink, tetapi symlink ke symlink lain, dan direktori aktualnya adalah / storage / emulated / 0
Jadi akhirnya, saya mengetik:
ls -ld /storage/emulated/0
Hasil yang saya dapatkan adalah:
drwxrwx--x 63 root sdcard_r 4096 Aug 10 12:04 /storage/emulated/0
Jadi singkatnya --- Saya tidak tahu apakah termux digunakan untuk menjalankan dengan izin dari grup sdcard_r atau apakah o izin yang digunakan untuk mengizinkan baca-tulis - tapi saya perlu tahu yang mana dari dua dulu dan bagaimana cara memperbaikinya - karena dapat mengakses isi kartu SD internal agak kritis.
Tidak, perangkat saya tidak di-rooting, saya juga tidak berencana untuk melakukan rooting - jadi saya tidak dapat memberikan informasi apa pun bahwa saya harus melakukan rooting pada perangkat untuk mendapatkan. Namun, tidak pernah di-rooting sebelumnya mencegah saya dari memiliki akses baca ke direktori / sdcard - jadi ini baru (dan mengganggu).
Memang - sudah beberapa bulan sejak sebelumnya saya mencoba melakukan ini - tetapi batasan baru dari Android ini secara serius menghambat kegunaan termux dan siapa-tahu-apa-lagi - karena saya harus dapat memiliki akses ke file yang di Kartu SD saya. (Saya masih bisa melakukan banyak hal, bahkan jika tidak semuanya, bahkan tanpa izin menulis - tetapi saya cukup banyak terjebak dalam air jika saya tidak bisa mendapatkan izin baca, seperti saat ini.)
sumber
READ_EXTERNAL_STORAGE
izin, jadi itu harus memiliki akses.Jawaban:
Mengikuti Termux wiki untuk menjalankannya
termux-setup-storage
, seperti yang disarankan oleh fornwall .kemudian restart Termux.
sumber
Versi Android yang lebih baru membutuhkan aplikasi untuk meminta izin selama runtime. Anda mungkin sudah memperhatikan ini. Salah satu contoh adalah Chrome meminta izin Penyimpanan ketika Anda mencoba mengunduh sesuatu untuk pertama kalinya. Bagi Termux, ini masalah. Izin default untuk "tidak diizinkan," jadi ketika Termux membutuhkan izin untuk suatu tugas, karena Termux belum diperbarui untuk meminta izin ini, ia malah mencoba untuk melakukan tugas dan melemparkan kesalahan sebagai hasilnya. Sayangnya, pengembang harus memperbaikinya sendiri. Untungnya, Android memberi Anda cara untuk mengelola izin aplikasi secara manual. Sampai pengembang memperbarui Termux yang sesuai, ini mungkin satu-satunya cara.
Langkah 1: Buka halaman Info Aplikasi Termux
Ada beberapa metode untuk mencapai halaman ini. Karena ponsel yang berbeda dapat memiliki perilaku yang berbeda, saya memasukkan semua yang saya tahu.
Metode 1: Menggunakan menu multitask
Dalam daftar aplikasi, Termux harus menjadi yang pertama. Ketuk dan tahan ikonnya.
Pada beberapa ponsel, Anda sudah berada di halaman info. Di ponsel lain, Anda akan melihat perubahan app-box Termux di bagian atas, dengan ikon info (ℹ) muncul di suatu tempat. Ponsel lain mungkin memberi Anda menu konteks dengan opsi "Info App". Dalam kedua kasus, ketuk ini.
Metode 2: Menggunakan panel notifikasi
Coba salah satu di bawah ini:
Metode 3: Menggunakan App Manager
Langkah 2: Mengubah izin
Anda sekarang harus berada pada halaman dengan nama, ikon, dan nomor versi Termux dengan dua tombol berlabel "Uninstall" dan "Force Stop." di bawahnya harus ada berbagai pilihan lain.
Menguji perubahan
Anda sekarang telah memberikan akses Termux ke penyimpanan Anda. Anda dapat menguji ini dengan perintah di bawah ini:
ls /sdcard/
Jika Anda tidak mendapatkan izin ditolak kesalahan, itu berhasil! Anda tidak perlu melakukan ini lagi kecuali Anda menginstal ulang Termux.
sumber
ini bulan Juli 2017 & saya punya masalah yang sama, googled untuk itu, & tiba di sini. Komentar Matthew Read menunjukkan jalan menuju solusi, tetapi tidak ada jawaban yang menjabarkannya dengan jelas, jadi inilah tl; dr darinya:
Termux tidak meminta izin sistem file saat instalasi, jadi Anda harus menyalakannya melalui Pengaturan => Aplikasi => Termux => Izin
sumber