527 votes

Comment faire pour démarrer une application à l’aide d’outils ADB android ?

Comment puis-je envoyer une intention à l’aide d’outils ADB Android ?

684voto

Cristian Points 92147
<pre><code></code><p>Ou vous pouvez l’utiliser directement :</p><pre><code></code></pre><p>Vous pouvez également spécifier les actions à filtrer par votre intention-filtres :</p><pre><code></code></pre></pre>

349voto

depodefi Points 358

Il est possible d’exécuter nom_application paquet spécifiant uniquement à l’aide d’outil de singe par suivent ce modèle :

Commande est utilisée pour exécuter l’application en utilisant les outils de singe qui génère une entrée aléatoire pour application. La dernière partie de la commande est entier spécifiant le nombre d’une entrée aléatoire généré pour app. Dans ce cas, le nombre est 1, ce qui en fait est utilisé pour lancer l’application (cliquez sur les icône).

129voto

Joilnen Points 621

Sinon, vous pouvez utiliser ceci :

63voto

dljava Points 804

linux/mac les utilisateurs peuvent également créer un script à exécuter un apk avec quelque chose comme ce qui suit:

créer un fichier nommé "adb-run.sh" avec ces 3 lignes:

pkg=$(aapt dump badging $1|awk -F" " '/package/ {print $2}'|awk -F"'" '/name=/ {print $2}')
act=$(aapt dump badging $1|awk -F" " '/launchable-activity/ {print $2}'|awk -F"'" '/name=/ {print $2}')
adb shell am start -n $pkg/$act

puis la commande "chmod +x adb-run.sh" pour le rendre exécutable.

maintenant, vous pouvez tout simplement:

adb-run.sh myapp.apk

L'avantage ici est que vous n'avez pas besoin de connaître le nom du paquet ou projetables nom de l'activité. De même, vous pouvez créer des "adb-uninstall.sh myapp.apk"

Note: Ceci nécessite que vous avez aapt dans votre chemin. Vous pouvez le trouver dans les nouveaux outils de construction dans le dossier SDK.

23voto

김준호 Points 545

Aussi, je tiens à mentionner une chose de plus.

Lorsque vous démarrez une application à partir d' adb shell am, il ajoute automatiquement FLAG_ACTIVITY_NEW_TASK drapeau qui rend le changement de comportement. Voir le code.

Par exemple, si vous lancez le Jeu Magasin de l'activité de adb shell am, en appuyant sur la touche"Retour"du bouton(bouton de retour) ne serait pas vous prendre votre application, il vous faudra précédente Play Store de l'activité s'il n'était pas(Si il n'y avait pas de Play store, puis il vous faudra votre application). FLAG_ACTIVITY_NEW_TASK documentation dit :

si une tâche est déjà en cours d'exécution pour l'activité que vous êtes maintenant en train, puis une nouvelle activité ne sera pas démarré; au lieu de cela, la tâche sera tout simplement être porté à l'avant de l'écran avec l'état, elle a été la dernière à

Cela m'a amené à passer quelques heures à trouver ce qui ne va pas.

Alors, gardez à l'esprit que, adb shell am ajouter FLAG_ACTIVITY_NEW_TASK drapeau.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X