J'essaie d'écrire un lot (pour la victoire) et un script shell pour Linux pour automatiser les essais et toucher les événements sur une interface utilisateur Android. Pour le moment, dans un fichier de lots de Windows, je démarre une coquille ADB pour chaque événement pour par exemple,
:again adb shell am start -a android.intent.action.MAIN -n com.q.me.fui.activity/.InitActivity sleep 15 adb shell sendevent /dev/input/event0 3 0 281 adb shell sendevent /dev/input/event0 3 1 70 adb shell sendevent /dev/input/event0 1 330 1 adb shell sendevent /dev/input/event0 0 0 0 adb shell sendevent /dev/input/event0 1 330 0 adb shell sendevent /dev/input/event0 0 0 0 adb shell sendevent /dev/input/event0 1 330 1 adb shell sendevent /dev/input/event0 0 0 0 adb shell sendevent /dev/input/event0 1 330 0 adb shell sendevent /dev/input/event0 0 0 0 adb shell sendevent /dev/input/event0 0 0 0 adb shell sendevent /dev/input/event0 0 0 0 sleep 5 adb shell input keyevent 82 adb shell input keyevent 20 adb shell input keyevent 20 adb shell input keyevent 22 adb shell input keyevent 22 adb shell input keyevent 22 adb shell input keyevent 66 sleep 5 goto again
5 Réponses :
Je ne sais pas grand chose de script de lot ou de script shell, mais j'ai pu écrire rapidement un programme Java pour le faire: Vous pouvez ensuite utiliser cette classe dans une coquille script comme vous voulez passer les commandes à exécuter en tant qu'arguments de ligne de commande dans votre méthode principale. p> par exemple Vous trouverez ci-dessous le script shell: p>
réponse cool, juste une petite erreur, le fil t ne devrait pas avoir la portée de la méthode
Une autre façon d'aller est la suivante:
Je viens de réaliser que vous utilisez un fichier de commandes. Ce qui précède fonctionne dans Bash mais je ne me souviens pas de la façon dont DOS gère la poursuite de la ligne. Peut-être que cela fonctionnera aussi? Les points-virgules sont tout ce qui est nécessaire pour émettre de multiples commandes à la coquille ADB (qui est CEND IIRC)
La réponse de Topher est presque correcte.
Il suffit de supprimer les nouvelles lignes et cela fonctionnera. P>
adb shell "sendevent /dev/input/event9 3 53 215;sendevent /dev/input/event9 3 54 68;sendevent /dev/input/event9 3 48 40;sendevent /dev/input/event9 3 50 6;sendevent /dev/input/event9 3 57 0;sendevent /dev/input/event9 0 2 0;sendevent /dev/input/event9 0 0 0;sendevent /dev/input/event9 3 53 215;sendevent /dev/input/event9 3 54 68;sendevent /dev/input/event9 3 48 0;sendevent /dev/input/event9 3 50 6;sendevent /dev/input/event9 3 57 0;sendevent /dev/input/event9 0 2 0;sendevent /dev/input/event9 0 0 0;"
Merci. Votre réponse m'a aidé.
@Vladimir, que si mes commandes de shell comprennent des citations? Par exemple, Texte d'entrée Shell adb "bla-blah" code>
Mettez toutes les commandes que vous souhaitez exécuter à la fois dans un fichier externe, une par ligne, puis exécutez:
Une solution simple et élégante! Je ne suggérerais que de mettre une dernière ligne dans le fichier Exemple Commands.txt qui lit simplement «Quitter» (sans guillemets) pour vous laisser tomber à votre coquille principale.
Je fais quelque chose de similaire de sorte qu'il peut fonctionner comme ci-dessous: p>