web-dev-qa-db-fra.com

Android emulator-5554 hors ligne

J'ai un problème avec emulator-5554, il me répète qu'il est hors ligne. 

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

emulator-5554 offline

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

Le problème est que lorsque j'essaie d'installer des fichiers .apk sur l'émulateur à l'aide de abd install <path> à partir de la commande Invite, il me dit qu'il est hors ligne. Si je crée un autre périphérique et l'exécute, j'essaie ensuite d'installer les fichiers .apk. 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 fichu émulateur-5554? J'ai entendu dire que si vous redémarrez, tous les périphériques devraient être effacés, mais cela ne semble pas fonctionner. C'est comme si on commençait à l'initialiser au démarrage de mon ordinateur. Quelqu'un at-il rencontré ce problème?

Merci

91
hanesjw

Dans un tel cas, vous pouvez effectuer toutes les opérations suivantes pour être sûr que votre émulateur fonctionnera à nouveau:

  1. Allez dans cmd et tapez "adb kill-server"
  2. Accédez au gestionnaire de tâches et recherchez "adb" dans les processus. Si vous en trouvez un, cliquez dessus avec le bouton droit de la souris et cliquez sur l’arbre de processus final. 
  3. Dans Eclipse, sélectionnez Fenêtre> Gestionnaire de périphériques virtuels Android, cliquez sur le fichier AVD que vous souhaitez lancer, cliquez sur Démarrer, décochez "Lancer à partir d’un instantané", puis cliquez sur lancer.

C'est tout! Cela prendra un certain temps et cela devrait résoudre votre problème.

44
Kshitij Mittal

1 . Simplement "Effacer les données" pour résoudre ce problème.

 enter image description here

2 Si cela ne fonctionne pas, accédez au périphérique émulé et activez les options du développeur> activez le débogage usb

60
Xakiru

Android détecte les émulateurs en analysant les ports à partir du port 5555.

Le nombre que vous voyez dans la liste adb devices (dans votre cas, 5554) sera un de moins que le port trouvé par adb.

Vous avez probablement un processus en cours d'écoute sur le port 5555. Pour supprimer le périphérique "hors ligne", vous devez trouver cette application et la fermer ou la reconfigurer pour écouter un autre port.

21
Brigham

Cette solution est pour Windows.

(Voir La solution de @Chris Knight pour Mac/Linux)

  1. Démarrez Windows Powershell:

    Démarrer -> tapez 'powershell' -> appuyez sur ENTER

  2. Exécutez la commande suivante: adb devices


PS C:\Users\CJBS>adb devices
List of devices attached
emulator-5656   Host
emulator-5652   Host
12b80FF443      device

Dans ce cas, 12b80FF443 est mon périphérique physique et les entrées emulator- * sont illisibles.

  1. Per @Brigham , "La façon dont Android détecte les émulateurs est de En balayant les ports à partir du port 5555.". Le numéro de port est indiqué après le nom de l'émulateur (dans ce cas, 5656 et 5652). Le numéro de port à vérifier est le numéro de port de l'émulateur plus 1. Donc, dans ce cas: -

    5656 + 1 = 5657

    5652 + 1 = 5653

    Voyons donc quel programme utilise ces ports. Dans ce cas, les ports à vérifier commencent par "565". Je vais donc rechercher les ports utilisés à partir de 565. Execute: netstat -a -n -o | Select-String ":565"


PS C:\Users\CJBS> netstat -a -n -o |  Select-String ":565"

  TCP    127.0.0.1:5653         127.0.0.1:5653         ESTABLISHED     5944
  TCP    127.0.0.1:5657         127.0.0.1:5657         ESTABLISHED     5944
  1. Le dernier champ de cette sortie est le PID (ID de processus). Dans ce cas, il s’agit du PID 5944 pour ces deux ports. Voyons donc en quoi consiste cet identifiant de processus. Exécutez: tasklist /v | Select-String 5944. Remplacez 5944 par le résultat de la commande précédente:

PS C:\Users\CJBS> tasklist /v | Select-String 5944

adb.exe                       5944 Console                    1      6,800 K Running         MyPCName\CJBS          0:06:03 ADB Power Notification Window

Quelle surprise. C'est la BAD. Comme indiqué par d'autres réponses, il pourrait également s'agir d'autres programmes.

  1. Maintenant, tuez simplement cet ID de processus. Exécutez kill 5944 en remplaçant 5944 par le PID de la commande précédente.

PS C:\Users\CJBS> kill 5944
  1. Pour confirmer que l'émulateur parasite est parti, réexécutez la commande suivante: adb devices

PS C:\Users\CJBS>adb devices
List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
12b80FF443      device

La BAD redémarre (comme elle avait été tuée auparavant) et ne détecte plus de faux émulateurs.

15
CJBS

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 des "périphériques adb" pour tester.

Cela a fonctionné pour moi:
tuer le nom de processus MONyog.exe

7
Ryan Ou

J'ai résolu ceci en ouvrant mon invite de commande:

adb kill-server

périphériques adb

Après le démarrage, ADB détecte maintenant le périphérique/émulateur.

6
DagW

Si vous êtes sous Linux ou Mac et en supposant que le périphérique hors ligne est "emulator-5554", vous pouvez exécuter les opérations suivantes:

netstat -tulpn|grep 5554

Ce qui donne la sortie suivante:

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 me dit que l'ID de processus 4848 (le vôtre sera probablement différent) est toujours à l'écoute sur le port 5554. Vous pouvez maintenant arrêter ce processus avec:

Sudo kill -9 4848

et le ghost offline-device n'est plus!

5
Chris Knight

J'ai aussi eu le même problème. J'ai essayé toutes les solutions décrites ici mais elles ne m'ont pas aidé. Ensuite, j'ai supprimé tous les émulateurs du Gestionnaire de périphériques virtuels Android et en ai créé de nouveaux. Le problème provenait de la configuration de l'image système CPU/ABI du gestionnaire de périphériques virtuels Android. Sur mon émulateur de machine Windows10 avec une image système, x86 est toujours hors ligne, où un émulateur avec une image système x86_64 fonctionne correctement. Juste être conscient de cela

5

À partir de la liste des gestionnaires AVD dans la liste déroulante des actions: Cold Boot Now

le redémarre sans toute la douleur ci-dessus.

4
Alp Altunel

J'ai finalement résolu ce problème, Je devais accéder au Options du développeur à partir du Paramètres de Emulator, . Instantanément, mon appareil a été reconnu en ligne et je ne suis plus confronté à ce problème. J'ai essayé redémarrer Android studio et l'émulateur, tuant le processus adb, mais ceux-ci ne fonctionnaient pas. 

3

J'ai résolu le problème en résolvant de n'avoir jamais rien à faire pour le reste de ma vie avec 'Xamarin', 'Android', 'adb', 'Google', 'AVD' ou des émulateurs de quelque nature une pile fumante d'excréments non-testés

3
Richard Hammond

L'option "effacer les données de l'utilisateur" a finalement résolu mon problème. effacez simplement les données de l'utilisateur à chaque démarrage de l'émulateur. Ça fonctionne toujours pour moi! J'utilise Windows 8 x64, Eclipse

3
Sunil Kumar

Activer le débogage USB dans votre émulateur

  1. Paramètres> À propos du téléphone> Numéro de version> Appuyez 7 fois dessus pour devenir développeur;
  2. Paramètres> Options pour les développeurs> Débogage USB.

C'est ça profiter

2
Dhaval Jivani

Allez dans le gestionnaire de tâches Windows et terminez le processus "adb.exe". Il peut y avoir plus d'une instance du même processus, assurez-vous de toutes les terminer.

2
Rohit

Ecrivez

adb -e reboot

et soyez heureux avec adb))

2
oleg gutov

Dans le gestionnaire AVD, essayez l’option «Démarrage à froid maintenant» dans la liste déroulante. Cela a fonctionné pour moi!

2
Paulo Taylor

Avez-vous des casiers bleus installés? Si vous le faites, les processus d'arrière-plan qu'il exécute créent le périphérique hors ligne "emulator-5554".

Allez dans le gestionnaire de tâches et terminez tous les processus avec la description de "Bluestacks"

2
cw1998

J'ai constaté que l'environnement d'émulation apparaît comme "hors ligne" lorsque la révision d'annonce que j'utilise n'est pas récente. J'ai correctement mis à jour mes chemins (et supprimé l'ancienne version d'adb) et sur "adb kill-server", "adb devices", l'environnement d'émulation n'est plus apparu comme "hors ligne".

J'ai immédiatement pu utiliser "adb Shell" après ce moment.

1
Keitai Otaku

Si l'émulateur est déjà ouvert ou en cours d'exécution, il vous dira qu'il est hors ligne. Vous pouvez vérifier sur la ligne de commande (Ubuntu) et exécuter:

 adb devices

Vous devez voir votre émulateur hors ligne, vous devez fermer l'instance en cours d'exécution de l'émulateur (car le port sera affiché comme occupé) et vous pourrez ensuite exécuter votre application. J'espère que ça aide quelqu'un.

1
G Jeny Ramirez

Avez-vous essayé de supprimer et de recréer votre AVD? Vous pouvez supprimer manuellement les fichiers AVD en allant dans le répertoire où ils sont stockés (dans le sous-répertoire /.Android/avd de votre utilisateur).

1
JRL

Assurez-vous que votre intégration d'activation ADB est marquée Allez dans Outils> Android> Activer l'intégration ADB.

si cette case n'est pas cochée, cochez cette option, fermez votre périphérique virtuel et rouvrez-le. cela a fonctionné pour moi .. bonne chance !!

1
Leo Santana

J'ai tout essayé, mais seul celui-ci fonctionne dans mon cas: Utilisez le gestionnaire de SDK et réinstallez l'image système Android Studio, cliquez sur Configurer, Gestionnaire de SDK, Lancer le gestionnaire de SDK autonome, Cochez toutes les "API Google Intel x86 * Image système "," Intel x86 Atom * Image système "et installez-le. Puis redémarrez Android Studio.

Vous devrez peut-être reconfigurer et effacer le périphérique virtuel avec AVD Manager, assurez-vous de choisir la version x86. 

1
EricF

Essaye ça ...

  1. Fermez l'émulateur s'il est en cours d'exécution.

  2. Redémarrez Emulator et attendez qu’il soit en ligne.

  3. entrez Command in commandprompt et appuyez sur la touche Entrée: adb tcpip 5555 

(Assurez-vous qu’un seul émulateur s’exécute à la fois.)

  1. adb -s emulator-5555 emu kill 

  2. Appuyez sur la touche Entrée ....

  3. Terminé. 

  4. vérifiez les périphériques à l'aide de la commande "périphériques adb" dans cmd.

1
WonderSoftwares

Je vais ajouter une autre solution possible ici, qui est ce qui a fonctionné dans mon cas. 

J'ai trouvé qu'il existait un processus appelé SpiceWorksEventProcessor en cours d'exécution, qui bloquait le port 5555 et était apparemment lu par adb en tant qu'émulateur. Tuer ce processus est ce qui a finalement enlevé ce dispositif émulateur obstiné pour moi.

Je ne suis pas sûr de la nature de cette chose, mais si vous l'avez, cela pourrait être la cause de votre émulateur hors ligne.

À votre santé

0
HarvesteR

sur linux ou mac, le port bloqué sera emulator-id + 1 donc 5555 donc: Sudo lsof -i :5555 vous montrera le pid du processus qui prend le port (devrait être la deuxième colonne) afin de le détruire __. Sudo lsof -i :5555 | awk '{print $2}' | xargs kill

alors les périphériques adb (faux) n'apparaîtront plus dans la liste

0
Micheal Kris

J'ai eu le même problème avec mon périphérique virtuel. Le problème est dû à l'image Oreo des périphériques virtuels intégrant le Play Store. Pour résoudre ce problème, j'ai installé un nouvel appareil sans le Play Store intégré et tout s'est bien passé.

J'espère que ça aide, au revoir

0
furdu

Dans mon cas, j'ai commencé dans «Cold Boot Now» (Démarrage à froid maintenant) et j'ai cliqué sur Message (Message) pour autoriser la connexion.

0
Marcus Menezes

Dans mon cas, j'ai décoché "GPU Host" et son travail :)

0
qasanov

Sous MAC, vous pouvez utiliser l'utilitaire Activity Monitor car, contrairement à Linux, nous ne pouvons pas utiliser netstat -tulpn command dans MAC. Recherchez l'instance en cours d'exécution de l'émulateur, généralement qemu-system-i386 . Tuez cette instance et vous ne verrez aucun émulateur de fantôme en cours d'exécution. 

Le moyen le plus simple de saisir l'utilitaire de moniteur d'activité consiste à utiliser la recherche Spotlight. appuyez simplement sur cmd-space et tapez Activity Monitor

0
Anus Kaleem

Supprimez simplement et créez à nouveau le matériel avd. Cela fonctionnera.

0
Gagandeep Singh

Dans mon cas, la cause était que j'avais repris un VM avec Android-x86 à l'intérieur. Le redémarrage de VM avec Android-x86 et le redémarrage du serveur adb ont résolu le problème.

0
Ullrich

Voir emulator-5554 non autorisé pour les périphériques adb . Sur l'émulateur API 29, je lance la commande adb devices et reçois le message emulator-5554 unauthorized. Ensuite, j'ai créé un nouveau périphérique avd à partir de Google APIs image (dans mon cas, Q, x86) et non à partir de Google Play.

0
CoolMind

Cela est dû au fait qu'un autre périphérique virtuel est installé sur votre ordinateur. Ce pourrait être Bluestacks comme j'ai également fait face à un problème similaire. J'ai désinstallé Bluestacks puis vérifié adb devicesIl fonctionnait bien alors.

0
Aditya Harsh

ouvrez votre émulateur,

réglage -> à propos du périphérique émulé -> cliquez plusieurs fois sur le numéro de build -> options de développement ouvertes -> débogage USB

0
zhiqiu lin

Toutes les réponses ci-dessus n'ont pas aidé, puis j'ai supprimé et recréé l'émulateur tout a bien fonctionné

0
user5546454

Dans mon cas, l'émulateur travaillait avec Oreo et Lower, mais pas avec Pie, et tout ce que j'ai essayé semblait n'avoir aucun effet. Ce qui a finalement fonctionné a été de mettre à jour l’émulateur au plus tard (version 28).

0
PulseJet

Essuyez simplement les données utilisateur du gestionnaire AVD, puis entrez adb kill-server et les périphériques adb . L'effacement des données permet également d'économiser beaucoup d'espace mémoire sur le système.

0
sanjeeb