web-dev-qa-db-fra.com

Comment lancer l'émulateur Android à partir de la ligne de commande?

Je suis sur Mac, je travaille sur le développement Android depuis le terminal. J'ai créé avec succès le projet HelloWorld et j'essaie maintenant de l'exécuter à partir de la ligne de commande de l'émulateur Android. Quelle commande exécute l'émulateur pour mon projet HelloWorld?

J'ai déjà les outils Android et les outils de plate-forme dans mon PATH.

Modifier:

Comment dire à l'émulateur d'exécuter mon projet HelloWorld à partir de la ligne de commande? J'ai déjà construit le projet avec ant.

313
Thierry Lam

Je suppose que vous avez construit votre projet et que vous avez juste besoin de le lancer, mais aucun AVD n’a été créé et vous devez utiliser la ligne de commande pour toutes les actions. Vous devez faire ce qui suit.

  1. Créez un nouveau périphérique virtuel (AVD) pour la plate-forme dont vous avez besoin. Si vous devez utiliser la ligne de commande pour créer votre AVD, vous pouvez appeler Android create avd -n <name> -t <targetID> où ID-cible correspond au niveau de l'API dont vous avez besoin. Si vous pouvez utiliser l'interface graphique, tapez simplement Android avd et le gestionnaire sera lancé, où vous pourrez faire de même. Vous pouvez en savoir plus sur Gestion des AVD via GUI et via la ligne de commande .
  2. Exécutez l’AVD à l’aide de la commande emulator -avd <name> ou via l’interface graphique précédemment lancée. Attendez que l’émulateur soit complètement chargé, cela prend du temps. Vous pouvez lire sur les options supplémentaires ici .
  3. Maintenant, vous devez installer l'application sur votre AVD. Habituellement, lors du développement, vous utilisez uniquement le même script Ant que celui utilisé pour générer le projet, il vous suffit de sélectionner install target. Cependant, vous pouvez installer l'application manuellement à l'aide de la commande adb install <path-to-your-APK>.
  4. Passez maintenant à l’émulateur et lancez votre application comme sur n’importe quel appareil normal, par le biais du lanceur. Sinon, vous pouvez également utiliser la commande suivante: adb Shell am start -a Android.intent.action.MAIN -n <package>/<activity class>. Par exemple: adb Shell am start -a Android.intent.action.MAIN -n org.sample.helloworld/org.sample.helloworld.HelloWorld. Comme l'a suggéré un commentateur, vous pouvez également remplacer org.sample.helloworld.HelloWorld dans la ligne ci-dessus par juste .HelloWorld, et cela fonctionnera également.
337
Malcolm

Listez tous vos émulateurs:

emulator -list-avds

Exécutez l'un des émulateurs répertoriés:

emulator @name-of-your-emulator

emulator est sous:

${Android_SDK}/tools/emulator
203
azibi

Je pense que le meilleur moyen de l'atteindre via un terminal est:

cd ~/Library/Android/sdk/tools

Pour exécuter un certain AVD directement:

./emulator -avd {AVD_NAME}

Pour lister vos AVD, utilisez:

./emulator -list-avds
67
Ali Sao

Juste pour ajouter ici, chaque fois que vous obtenez "erreur: périphérique hors ligne" signifie que la connexion avec émulateur et pont adb a été interrompue en raison du temps nécessaire au démarrage de l'émulateur. 

Plutôt que de redémarrer l'émulateur à ce stade, essayez ci-dessous deux commandes qui arrêtent et redémarrent adb bridge à nouveau.

adb kill-server

serveur de démarrage adb

25
ABDroids

Ici vous pouvez vérifier les options pour exécuter cette commande via la ligne de commande:

emulator -avd avd_name [-option [value]] ... [-qemu args]

Par exemple, je l'utilise comme ceci ci-dessous: 

emulator -avd ICS_ARM -wipe-data -no-boot-anim -cpu-delay 0
22
germangti

cMD ouvert

  1. Ouvrir l'invite de commande
  2. tapez le chemin de l'émulateur dans mon cas

C:\adt-bundle-windows-x86_64-20140702\sdk\tools  enter image description here

  1. écrire "emulator -avd emulatorname" dans mon cas 

émulateur -avd AdilVD

 enter image description here

12
Adiii

Si vous essayez strictement d'exécuter l'émulateur à partir de la ligne de commande, essayez ceci sous OSX.

"/Applications/Android Studio.app/sdk/tools/emulator" -avd <NAMEOFDEVICE> -netspeed full -netdelay none

Vous pouvez le simplifier en ajoutant un alias au fichier .bash_profile et en l'envoyant à un travail en arrière-plan.

alias Android='/Applications/Android\ Studio.app/sdk/tools/emulator <NAMEOFDEVICE> -netspeed full -netdelay none &'

Informez Bash des changements.

source ~/.bash_profile
9
Rick

Ouvrez l'invite de commande et accédez à <Android-Home>\sdk\tools>emulator -avd <AVD_NAME>

Ici "emulator" est la commande utilisée pour ouvrir votre Appareil virtuel Android .

7
Chandra Shekhar

(Linux) Dans votre terminal copier-coller et changer les trois champs en bleu

/home/YouUser/Folder/adt-bundle-linux-x86_64-20140702/sdk/tools/emulator64-x86 -avd Android5.1.1

YouUser = user of session in linux
Folder = path of folfer
Android5.1.1 = You version of Android in the emulator,for example (Android4.4.2)

vous pouvez voir les émulateurs dans votre dossier homecd /home/Youuser/.Android/avd/

4
David Hackro

La commande Android create avd est obsolète. Il est maintenant recommandé d'utiliser avdmanager pour lancer les émulateurs à partir de la ligne de commande.

Commencez par créer un nouvel émulateur s'il n'en existe pas déjà un:

avdmanager create avd --name "MyEmulator" -k "system-images;Android-
26;google_apis;x86"

Cela suppose que vous avez déjà installé une image système X86 correspondant à l'API 26 et que les API Google sont installées.

Vous pouvez ensuite lancer l'émulateur avec emulator @MyEmulator.

4
fractalwrench

De nos jours, en supposant que vous avez Android Studio installé (2.2) dans mon cas et juste 1 émulateur, vous pouvez utiliser cette doublure

export Android_SDK_ROOT=~/Library/Android/sdk/ && emulator '@'`emulator -list-avds`

Si vous le faites souvent, facilitez les choses:

$ echo 'export Android_SDK_ROOT=~/Library/Android/sdk/' >> ~/.profile

Ajouter un alias à ~.aliases

alias androidup="emulator '@'`emulator -list-avds`" 

Rappelez-vous à source ~/.profile ~/.aliases avant de le tester

La prochaine fois que $ androidup

3
Jaime Agudo

Si vous avez Git Bash, vous pouvez ouvrir votre émulateur par un double-clic, avec une configuration initiale (testé sous Windows 10 uniquement) :

  1. Ouvrez Git Bash.
  2. Exécuter cd ~/AppData/Local/Android/sdk/emulator
  3. Exécutez ./emulator -list-avds et notez le nom de l'émulateur. MY_EMULATOR par exemple.
  4. Ouvrez le Bloc-notes et ajoutez ces deux lignes (insérez le nom de votre émulateur au lieu de MY_EMULATOR):

    cd ~/AppData/Local/Android/sdk/emulator; ./emulator -avd MY_EMULATOR

  5. Enregistrez le fichier à un endroit qui convienne comme myfile. sh . Vous pouvez modifier "myfile" à votre guise, mais l'extension .sh est nécessaire. 

  6. Ouvrez Git Bash dans le répertoire où vous avez stocké myfile.sh et exécutez chmod +x myfile.sh. N'oubliez pas de mettre le nom de votre fichier à la place de myfile .

Et c'est tout! À partir de maintenant, chaque fois que vous aurez besoin de démarrer cet émulateur, localisez simplement votre myfile.sh , double-cliquez dessus et attendez le lancement de votre émulateur Android!

2
romin21

liste des noms avd disponibles sur 

.Android/avd

/ SDK_PATH/tools/emulator -netdelay none -netspeed full -avd "AVD_NAME"

2
rinkesh

Sur Mac (et Linux, je pense), après avoir créé votre AVD, vous pouvez créer un alias: alias run-Android='~/Library/Android/sdk/tools/emulator -avd ${YOUR_AVD_NAME} &' 

Remarque : l'exécution de l'alias ne verrouille pas votre terminal. Si vous le souhaitez, supprimez simplement le dernier '&'

Exécuter emulator il vous donnera une erreur car il s’attend à ce que, dans votre position actuelle, vous ayez: /emulator/qemu/${YOUR_PATFORM}/qemu-system-x86_64' pour démarrer l’émulateur.

1
Frismaury

Dans Windows, j'utilise ce script PowerShell pour le démarrer.

$em = $env:USERPROFILE+"\AppData\Local\Android\sdk\tools\emulator.exe"; 
Start-Process $em " -avd Nexus_5X_API_24" -WindowStyle Hidden;
0
Andy Li

Démarrage de l'émulateur depuis la ligne de commande avec l'aide du DNS

Emplacement du programme d'émulateur:/Users/{{UserName}}/Library/Android/sdk/tools

  1. Vérifier le fichier avd existant: - Emulator -list-avds

  2. Démarrez l'émulateur avec le jeu de dns.

0
dayanand

J'ai écrit ce script Shell simple à l'aide de Zenity qui vous permet de choisir le fichier avd que vous souhaitez exécuter. Si vous n'avez pas défini Android_HOME, vous pouvez simplement le remplacer par le chemin complet de l'émulateur . Ce serait facile à faire avec select au lieu de Zenity également, mais j'ai opté pour Zenity Menu xfce-application (bien qu'un fichier .desktop).

#!/bin/sh

opt=$(zenity --title="Choose AVD" --text="Choose which emulator to start" --list \
                   --column="Devices" --separator="\n" `$Android_HOME/emulator/emulator -list-avds`);

$Android_HOME/emulator/emulator -avd $opt
0
Pauli Kettunen
  1. CMD ouvert
  2. Pour obtenir la liste de tous les émulateurs (C:\Utilisateurs\Django\AppData\Local\Android\sdk\émulateur> emulator -list-avds)
  3. Choisissez n'importe quel émulateur (C:\Utilisateurs\Django\AppData\Local\Android\sdk\émulateur> émulateur -avd Pixel_2_API_28)
0
Arman Javed

Exécutez le premier émulateur disponible:

~/Library/Android/sdk/tools/emulator -avd `~/Library/Android/sdk/tools/emulator -list-avds | awk '{print $1}'`
0
Shl