Korzystając z programu emulacji terminalu termux ( https://termux.com ), wpisuję następującą komendę:
ls /sdcard
Otrzymuję następujący błąd:
ls: can't open '/sdcard': Permission denied
Zdając sobie sprawę, że katalog / sdcard na Androidzie jest dowiązaniem symbolicznym, próbowałem znaleźć lokalizację rzeczywistego katalogu - dowiadując się, że nie jest to tylko dowiązanie symboliczne, ale dowiązanie symboliczne do innego dowiązania symbolicznego, a rzeczywisty katalog to / storage / emulated / 0
Wreszcie napisałem:
ls -ld /storage/emulated/0
Otrzymałem wynik:
drwxrwx--x 63 root sdcard_r 4096 Aug 10 12:04 /storage/emulated/0
Tak w skrócie --- nie wiem czy termux wykorzystane do uruchomienia z uprawnieniami do sdcard_r grupy czy też ö uprawnienia używane w celu umożliwienia odczytu i zapisu - ale muszę wiedzieć, który z nich kiedyś i jak to naprawić - ponieważ dostęp do zawartości wewnętrznej karty SD jest dość krytyczny.
Nie, moje urządzenie nie jest zrootowane, ani nie planuję go zrootować - więc nie mogę podać żadnych informacji, które musiałbym zrootować, aby je uzyskać. Jednak brak rootowania nigdy w przeszłości nie uniemożliwiał mi dostępu do odczytu katalogu / sdcard - więc jest to nowe (i niepokojące).
To prawda - minęło kilka miesięcy, odkąd próbowałem to zrobić - ale to nowe ograniczenie Androida poważnie utrudnia użyteczność termuxa i kto wie co jeszcze - ponieważ muszę mieć dostęp do plików, które są na mojej karcie SD. (Nadal mogę dużo, nawet jeśli nie wszystko, nawet bez uprawnień do zapisu - ale utknąłem w wodzie, jeśli nie mogę uzyskać uprawnień do odczytu, jak ma to miejsce obecnie).
źródło
READ_EXTERNAL_STORAGE
pozwolenie, więc powinien mieć dostęp.Odpowiedzi:
W następstwie wiki Termux aby uruchomić
termux-setup-storage
stałe to dla mnie, jak sugeruje fornwall .następnie uruchom ponownie Termux.
źródło
Nowsze wersje Androida wymagają, aby aplikacje pytały o pozwolenie podczas działania. Być może już to zauważyłeś. Jednym z przykładów jest Chrome z prośbą o pozwolenie na miejsce, gdy próbujesz coś pobrać po raz pierwszy. Dla Termuxa jest to problem. Uprawnienia domyślnie są „niedozwolone”, więc gdy Termux potrzebuje pozwolenia na zadanie, ponieważ Termux nie został zaktualizowany, aby poprosić o te uprawnienia, zamiast tego próbuje wykonać zadanie i w wyniku tego generuje błąd. Niestety twórcy muszą sami to naprawić. Na szczęście system Android umożliwia ręczne zarządzanie uprawnieniami aplikacji. Dopóki programiści nie zaktualizują odpowiednio Termux, jest to prawdopodobnie jedyny sposób.
Krok 1: Przejdź do strony informacji o aplikacji Termux
Dostęp do tej strony można uzyskać na wiele sposobów. Ponieważ różne telefony mogą mieć różne zachowania, dołączyłem wszystkie te, które znam.
Metoda 1: Korzystanie z menu wielozadaniowości
Na liście aplikacji Termux powinien być pierwszy. Naciśnij i przytrzymaj jego ikonę.
W niektórych telefonach będziesz już na stronie informacyjnej. Na innych telefonach zamiast tego zobaczysz na górze zmianę aplikacji w pudełku Termux z ikoną informacyjną (ℹ). Inne telefony mogą wyświetlać menu kontekstowe z opcją „Informacje o aplikacji”. W obu przypadkach dotknij tych.
Metoda 2: Korzystanie z panelu powiadomień
Spróbuj jednego z poniższych:
Metoda 3: Korzystanie z Menedżera aplikacji
Krok 2: Zmiana uprawnień
Powinieneś teraz znaleźć się na stronie z nazwą, ikoną i numerem wersji Termux z dwoma przyciskami oznaczonymi „Odinstaluj” i „Wymuś zatrzymanie”. poniżej powinny znajdować się różne inne opcje.
Testowanie zmiany
Dałeś teraz dostęp do swojego magazynu Termux. Możesz to sprawdzić za pomocą poniższej komendy:
ls /sdcard/
Jeśli nie otrzymasz błędu odmowy uprawnień, zadziałało! Nie powinieneś tego robić ponownie, chyba że ponownie zainstalujesz Termux.
źródło
jest lipiec 2017 r. i miałem ten sam problem, poszukałem go w Google i dotarłem tutaj. Komentarz Matthew Read wskazał drogę do rozwiązania, ale nie ma odpowiedzi, która jasno to określa, więc oto tl; dr tego:
Termux nie żąda uprawnień systemu plików podczas instalacji, więc musisz je włączyć poprzez Ustawienia => Aplikacje => Termux => Uprawnienia
źródło