script shell / batch pour diriger les commandes vers le shell adb
Je suis en train d'écrire un batch(pour gagner) et un script shell pour linux pour automatiser la touche événements sur une INTERFACE utilisateur android. À l'heure actuelle dans un fichier de commandes windows je suis en train de créer une commande adb shell pour chaque événement, 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
Le code ci-dessus est en effet le démarrage d'une nouvelle commande adb shell à chaque fois. Je veux éviter cela. Je veux que mon script batch pour lancer la commande adb shell qu'une seule fois et je voudrais itinéraire le sendevent et d'autres commandes du shell interne est exécuté, c'est à dire la commande adb shell.
Une idée de comment je peux faire ceci de gagner des lots et de Lin script shell?
source d'informationauteur Harkish | 2010-08-13
Vous devez vous connecter pour publier un commentaire.
Je ne sais pas beaucoup sur le lot des scripts ou des scripts shell, mais j'ai été capable d'écrire rapidement un programme java pour ce faire:
Vous pouvez ensuite utiliser cette classe dans un script shell que vous aimez passer les commandes à exécuter que les arguments de ligne de commande dans votre méthode principale.
par exemple, ci-Dessous le script de shell:
Mettre toutes les commandes que vous souhaitez exécuter à la fois dans un fichier externe, un par ligne, puis exécutez:
Topher la réponse est presque correct.
Seulement de supprimer les retours à la ligne et il va fonctionner.
La seule chose que vous devez prendre soin de est que vous ne nourrissez pas dans plus de 25 (c'est le montant que j'ai utilisé, 30 ne fonctionne plus) sendevents, parce que le reste de la bad va jeter l'erreur, qu'il y a trop d'arguments.
Je suis en train de faire quelque chose de similaire
De sorte qu'il peut fonctionner comme ci-dessous:
Une autre façon de faire est la suivante: