Actuellement, j'essaie d'exécuter un script shell simple via MacroDroid. Les appareils sont Huawei et Samsung (Oreo non rooté).
dans MacroDroid, j'ai essayé les emplacements suivants:
/data/local/tmp/script.sh
/storage/emulated/0/MacroDroid/script.sh
/storage/emulated/0/Android/data/com.arlosoft.macrodroid/files/script.sh
MacroDroid signale une autorisation refusée:
/system/bin/sh: [4]: /data/local/tmp/script.sh: impossible d'exécuter: Permission denied
/system/bin/sh: [4]: /storage/emulated/0/MacroDroid/script.sh: impossible d'exécuter: Permission denied
/system/bin/sh: [4]: /storage/emulated/0/Android/data/com.arlosoft.macrodroid/files/script.sh: impossible d'exécuter: Permission denied
le script lui-même fonctionne lorsqu'il est exécuté à partir de adb shell:
adb shell
$ cd /data/local/tmp
$ chmod 0755 script.sh
$ ls -nZ script.sh
-rwxr-xr-x 1 2000 2000 u:object_r:shell_data_file:s0 ...
$ ./script.sh
Dans l'émulateur de terminal, le script est lisible (et le passage en argument à sh
fonctionne):
$ /data/local/tmp/script.sh
/system/bin/sh: /data/local/tmp/script.sh: introuvable
$ sh /data/local/tmp/script.sh
$ sh /storage/emulated/0/MacroDroid/script.sh
$ sh /storage/emulated/0/Android/data/com.arlosoft.macrodroid/files/script.sh
MacroDroid a toutes les autorisations accordées dans les paramètres. Les macros peuvent créer leurs propres fichiers journaux dans /storage/emulated/0
Quel est l'emplacement approprié pour les scripts shell sur un appareil non rooté?