À l'aide du programme d'émulation de terminal termux ( https://termux.com ), je tape la commande suivante:
ls /sdcard
J'obtiens l'erreur suivante:
ls: can't open '/sdcard': Permission denied
Réalisant que le répertoire / sdcard sur Android est un lien symbolique, j'ai essayé de trouver l'emplacement du répertoire réel - en apprenant qu'il ne s'agit pas seulement d'un lien symbolique, mais d'un lien symbolique vers un autre lien symbolique, et que le répertoire réel est / stockage / émulé / 0
Alors finalement, j'ai tapé:
ls -ld /storage/emulated/0
Le résultat que j'ai obtenu était:
drwxrwx--x 63 root sdcard_r 4096 Aug 10 12:04 /storage/emulated/0
Donc, en bref --- je ne sais pas si termux fonctionnait avec les autorisations du groupe sdcard_r ou si les autorisations o utilisées pour autoriser la lecture-écriture - mais j'ai besoin de savoir laquelle des deux il était et comment réparer les choses - parce que pouvoir accéder au contenu de la carte SD interne est un peu critique.
Non, mon appareil n'est pas enraciné, et je n'ai pas l'intention de le rooter - je ne peux donc pas donner d'informations que j'aurais à rooter pour obtenir. Cependant, le fait de ne jamais être enraciné dans le passé m'a empêché d'avoir un accès en lecture au répertoire / sdcard - c'est donc nouveau (et dérangeant).
Certes - cela fait quelques mois que j'ai essayé de le faire auparavant - mais cette nouvelle limitation d'Android entrave sérieusement l'utilisabilité de termux et qui sait quoi d'autre - car j'ai besoin d'avoir accès aux fichiers qui sont sur ma carte SD. (Je peux encore faire beaucoup, même si ce n'est pas tout, même sans autorisations d'écriture - mais je suis à peu près coincé dans l'eau si je ne peux pas obtenir les autorisations de lecture, comme c'est actuellement le cas.)
la source
READ_EXTERNAL_STORAGE
permission, donc il devrait y avoir accès.Réponses:
Suivre le wiki Termux pour l'exécuter l'a
termux-setup-storage
corrigé pour moi, comme suggéré par fornwall .puis redémarrez Termux.
la source
Les nouvelles versions d'Android nécessitent que les applications demandent la permission pendant l'exécution. Vous l'avez peut-être déjà remarqué. Par exemple, Chrome demande l'autorisation de stockage lorsque vous essayez de télécharger quelque chose pour la première fois. Pour Termux, c'est un problème. Les autorisations par défaut sont «non autorisées», donc lorsque Termux a besoin d'une autorisation pour une tâche, car Termux n'a pas été mis à jour pour demander ces autorisations, il essaie à la place d'effectuer la tâche de toute façon et génère une erreur en conséquence. Malheureusement, le ou les développeurs doivent résoudre ce problème eux-mêmes. Heureusement, Android vous permet de gérer manuellement les autorisations des applications. Jusqu'à ce que les développeurs mettent à jour Termux en conséquence, c'est probablement le seul moyen.
Étape 1: Accédez à la page d'informations sur l'application de Termux
Il existe plusieurs méthodes pour accéder à cette page. Parce que différents téléphones peuvent avoir des comportements différents, j'ai inclus tous ceux que je connais.
Méthode 1: utilisation du menu multitâche
Dans la liste des applications, Termux devrait être le premier. Appuyez et maintenez sur son icône.
Sur certains téléphones, vous serez déjà sur la page d'informations. Sur d'autres téléphones, vous verrez à la place le changement de boîte d'appli de Termux en haut, avec une icône d'information (ℹ) apparaissant quelque part. D'autres téléphones peuvent vous proposer un menu contextuel avec une option "Informations sur l'application". Dans les deux cas, appuyez dessus.
Méthode 2: utilisation du panneau de notification
Essayez l'une des solutions ci-dessous:
Méthode 3: utilisation du gestionnaire d'applications
Étape 2: modification des autorisations
Vous devriez maintenant être sur une page avec le nom, l'icône et le numéro de version de Termux avec deux boutons intitulés «Désinstaller» et «Forcer l'arrêt». en dessous, il devrait y avoir diverses autres options.
Tester le changement
Vous avez maintenant donné à Termux l'accès à votre stockage. Vous pouvez tester cela avec la commande ci-dessous:
ls /sdcard/
Si vous n'obtenez pas d'erreur d'autorisation refusée, cela a fonctionné! Vous ne devriez pas avoir à recommencer, sauf si vous réinstallez Termux.
la source
nous sommes en juillet 2017 et j'ai eu le même problème, je l'ai recherché sur Google et je suis arrivé ici. Le commentaire de Matthew Read a ouvert la voie à la solution, mais il n'y a pas de réponse qui l'explique clairement, alors voici le tl; dr de celui-ci:
Termux ne demande pas l'autorisation du système de fichiers lors de l'installation, vous devez donc l'activer via Paramètres => Applications => Termux => Autorisations
la source