Est-il possible de “forcer l'arrêt”, une application que je suis le débogage à l'aide de la bad dans le terminal?
Je suis de développer une application, et pour le débogage de certaines actions sur la première installation, j'ai trouvé que l'utilisation de la commande de terminal:
./adb uninstall <package-name>
a été beaucoup plus rapide que la navigation vers les paramètres, applications d'attente pour les applications à charger, à la recherche de votre application, et de le désinstaller. Je vous le conseille vivement pour quelqu'un qui n'a pas déjà l'utiliser pour le débogage.
Maintenant, je suis en train de travailler sur la force de fermer une partie de mon application, et je ne peux pas trouver n'importe où dans l'android doc, des instructions sur la façon de forcer la fermeture d'une application par la banque de commande.
Est-il possible?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez fermer une par son pid à l'aide de
mais je ne suis pas sûr de le faire avec un nom de package.
Cette commande a fonctionné pour moi. Espérons que cela va vous aider ainsi.
Vous pouvez utiliser
adb shell kill
de tuer le processus, mais vous devez d'abord trouver l'id de processus. Pour ce faire, vous pouvez utiliseradb shell ps
et analyser les données en sortie. Voici un exemple (en supposant que votre PC de développement est Unix):adb shell "su -c 'kill $(adb shell ps | grep YOUR.PACKAGE.NAME | awk '{ print $2 }')'"
J'ai créé un script batch pour exécuter cette commande.
adb shell
,su
, puiskillall YOU.PACKAGE.NAME
pour moi.Si vous ne pouvez pas utiliser
awk
pour une raison quelconque (incomplet cygwin installation dans mon cas), on peut travailler:adb shell ps | grep YOUR.PACKAGE.NAME | sed 's/\s\s*//g' | cut -d ' ' -f 2 | adb shell kill
Explication: tout d'Abord,
ps
listes de processus en cours d'exécution. À partir de la sortie,grep
obtient la ligne contenant VOTRE.PACKAGE.NOM.sed
tronque les espaces consécutifs dans l'un pour l'aider àcut
pouvez obtenir le nom du package de la partie de cette ligne. Enfin, l'id de processus est transmise àkill
.busybox
).