Mon téléphone est un Galaxy S3, non enraciné . J'ai installé "ES File Explorer" et "Terminal Emulator".
J'ai téléchargé une version Android de 'wget', avec l'intention de l'exécuter à partir de l'émulateur de terminal. Le fichier existe actuellement dans /storage/sdcard0/Download
(qui est une partition interne, pas une carte SD physique) comme :
-rw-rw-r-- root sdcard_rw 241974 2016-03-11 wget
./wget
donne Permission refusée. chmod o+x wget
donne "Bad mode" ; cela est apparemment dû au fait que l'interface de l'Android chmod
n'accepte que les chiffres octaux ; chmod 665 wget
donne "Opération non autorisée". Je peux copier le fichier avec "cp", donc le système de fichiers est accessible en écriture.
D'autres questions-réponses donnent plusieurs raisons possibles pour lesquelles chmod
à défaut sur Android. L'une d'entre elles est une carte SD formatée en FAT qui ne prend pas en charge les bits de permission ; mais comme je l'ai dit, il ne s'agit pas d'une carte SD. Une autre est le système de fichiers monté avec "noexec". Ma connaissance d'Android/Linux est bien trop faible pour vérifier de telles choses.
Android me bloque-t-il l'exécution de wget à dessein ? Y a-t-il un moyen de l'exécuter sans mettre mon téléphone en rooting ?
0 votes
Utiliser le
sh
avant d'invoquer votre script. Voir ici : Permissions de script shell pour les passionnés d'Android1 votes
@Chungzuwalla : Si vous voulez la commande wget sans rooter, vous pourriez être intéressé par cette version busybox de wget .
0 votes
Merci @AaronGillion, j'ai essayé d'utiliser
sh
mais comme wget est un binaire, il donne juste une erreur de syntaxe. Il semble que ce que @MatijaNalis a écrit ci-dessous à ce sujet soit correct.0 votes
Copiez-le dans le dossier de votre application de terminal et exécutez-le.