215 votes

Émulateur Android-5554 hors ligne

J'ai un problème avec l'émulateur-5554, il n'arrête pas de me dire qu'il est hors ligne.

Quand je fais un adb devices dans la ligne de commande, il est écrit

emulator-5554 offline

Même après un nouveau redémarrage, j'essaie cette commande et elle indique toujours qu'elle est hors ligne.

Le problème est que lorsque j'essaye d'installer des fichiers .apk sur l'émulateur en utilisant abd install <path> à partir de l'invite de commande, il me dit qu'il est hors ligne, si je crée un autre appareil et exécute celui-là, puis essaie d'installer les fichiers .apk, il dit que j'ai trop d'appareils connectés. En d'autres termes, je ne peux pas installer mes fichiers .apk.

Comment puis-je me débarrasser de ce satané émulateur-5554 ? J'ai entendu dire que si vous faites un redémarrage, cela devrait effacer tous les périphériques, mais cela ne semble pas fonctionner. C'est comme s'il était initialisé au démarrage de mon ordinateur. Quelqu'un a-t-il rencontré ce problème ?

Merci

3 votes

Afin de déterminer si le problème vient de l'émulateur, essayez ceci : 1. Ouvrez un émulateur. 2. Ouvrez un autre émulateur. 3. adb devices pour obtenir les noms des émulateurs. 4. Essayez d'installer l'APK en excecutant : adb -s NAME_OF_DEVICE install file.apk 5. Dites-nous ce qui se passe.

0 votes

J'essaierai quand je rentrerai chez moi (je suis au travail en ce moment), je ne savais pas que l'on pouvait spécifier le périphérique sur lequel on veut installer. Cela devrait être très utile. Je ferai une mise à jour dans quelques heures. Merci pour la réponse !

0 votes

Merci encore pour le commentaire. J'ai pu installer l'apk sur l'émulateur en faisant ce que vous avez dit. L'appareil déconnecté reste dans ma liste d'appareils, mais tout ce que je voulais faire, c'était installer ce fichier .apk. Merci encore, ça a marché !

100voto

Kshitij Mittal Points 35

Dans ce cas, vous pouvez faire tout ce qui suit afin d'être sûr que votre émulateur recommence à fonctionner :

  1. Allez dans cmd et tapez adb kill-server
  2. Allez dans le gestionnaire de tâches et trouvez adb dans les processus. Si vous en trouvez un, faites un clic droit dessus et cliquez sur l'arbre de fin de processus.
  3. Dans Eclipse, allez dans Fenêtre>Android Virtual Device Manager cliquez sur l'AVD que vous souhaitez lancer, cliquez sur démarrer et décochez la case " Lancement à partir d'un instantané puis cliquez sur "lancer".

C'est ça ! Cela prendra un certain temps, mais cela devrait résoudre votre problème.

0 votes

Cela a également fonctionné pour moi (tuer ADB n'a pas résolu mon problème, dans toutes les situations).

0 votes

Dès que j'ai tué l'arbre des processus, la liste des périphériques en cours d'exécution d'adb s'est effacée :) ça a marché. <3 merci

19 votes

Dans Android Studio, changer l'option de démarrage du dispositif virtuel de Quick Boot à Cold Boot fonctionne pour moi.

47voto

Brigham Points 6316

La façon dont Android détecte les émulateurs est en scannant les ports à partir du port 5555.

Le nombre que vous voyez dans le adb devices (dans votre cas 5554) sera inférieur d'une unité au port qu'adb trouve ouvert.

Vous avez probablement un processus en cours d'exécution qui écoute sur le port 5555. Pour vous débarrasser du dispositif "hors ligne", vous devrez trouver cette application et la fermer ou la reconfigurer pour qu'elle écoute un autre port.

0 votes

La question portait sur la BAD. Les numéros de port ADB commencent à 5555.

6 votes

"Vous avez probablement un processus en cours d'exécution qui écoute sur le port 5555". Cela nous a vraiment aidé car nous avions un autre serveur sur ce port et nous l'avions complètement oublié !

0 votes

Il a toujours commencé au 5554 - sur tous mes PC (à la maison et au travail)... et c'est toujours PLEIN (5554, 5556, 5558, 5560, ...) en utilisant plusieurs émulateurs.

24voto

Chris Knight Points 7946

Si vous êtes sous Linux ou Mac, et en supposant que le périphérique hors ligne est 'emulator-5554', vous pouvez exécuter ce qui suit :

netstat -tulpn|grep 5554

Ce qui donne le résultat suivant :

tcp        0      0 127.0.0.1:5554          0.0.0.0:*               LISTEN      4848/emulator64-x86
tcp        0      0 127.0.0.1:5555          0.0.0.0:*               LISTEN      4848/emulator64-x86

Cela m'indique que le processus ID 4848 (le vôtre sera probablement différent) écoute toujours sur le port 5554. Vous pouvez maintenant tuer ce processus avec :

sudo kill -9 4848

et le fantôme de l'appareil hors ligne n'est plus !

Sur macOS Big Sur et les versions ultérieures, utilisez

sudo lsof -i -P | grep LISTEN | grep 5554

pour connaître le processus.

11voto

DagW Points 397

J'ai résolu ce problème en ouvrant mon invite de commande :

adb kill-server

Périphériques adb

Après le démarrage, ADB détecte maintenant le dispositif/émulateur.

9voto

Ryan Ou Points 101

Dans mon cas, j'ai trouvé un processus qui fait que adb ne fonctionne pas bien.
Vous pouvez essayer de tuer un processus étrange et exécuter "adb devices" pour tester.

Ça a marché pour moi :
tuer le processus nommé MONyog.exe

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