10 votes

Android : Emulateur fréquemment déconnecté (hors ligne) !

Juste après avoir lancé un nouvel émulateur, pour la toute première fois, j'ai essayé de télécharger mon apk, mais j'ai obtenu "emulator : ERROR : the user data image is used by another emulator. aborting".

J'ai lancé un nouvel émulateur, et je l'ai laissé seul, plusieurs minutes plus tard, DDMS a montré "device offline".

J'ai dû en redémarrer un nouveau, vous savez, des minutes de perdues.
C'est vraiment ennuyeux que je continue à obtenir cette erreur et que le débogage soit ralenti.
Comment puis-je le réparer ?

10voto

Chris Stratton Points 23061

Si l'émulateur est toujours en vie, vous pouvez dire à adb de se connecter à lui via tcp (ce qui est, je crois, ce qu'il fait de toute façon, sauf qu'il utilise normalement une classe de nom 'emulator' et qu'il obtiendrait maintenant une classe ip:port).

Cela fait un moment que je n'ai pas eu à le faire, mais je pense que si vous utilisez l'émulateur-5554, vous devez vous connecter au loopback de votre machine de développement un port plus haut, c'est à dire :

adb connect localhost:5555

Si cela fonctionne, adb devices le montrera et eclipse devrait le voir comme une option de déploiement.

Le problème du "in use" ressemble à un fichier de verrouillage périmé, peut-être laissé par un crash.

7voto

kira Points 1012

J'ai une autre solution. Essayez ceci

Exécuter les configurations > Cible > Effacer les données utilisateur > Exécuter

1voto

ivy Points 154

Dans mon cas, cela se produit lorsque j'ai un autre processus qui écoute sur le port de l'émulateur.

Par exemple, si je vois :

emulator-5554 offline

cela signifie que quelque chose utilise le port 5554

0voto

kira Points 1012

Supprimez manuellement les dossiers suivants :

C:\Users\ %UserName%.Android \avd\AVD2.1.avd\cache.img.lock

C:\Users\ %UserName%.Android \avd\AVD2.1.avd\userdata -qemu.img.lock

ça marche toujours pour moi. :3

0voto

Steve Points 10623

Sur Arch Linux x64, j'ai eu ce problème similaire qui m'a conduit à cette question. En utilisant Eclipse, le emulator-5554 se figeait, et Eclipse me demandait d'en démarrer une nouvelle. Dans la boîte de dialogue suivante, emulator-5554 a été signalé comme étant hors ligne, avec une cible inconnue. Si je démarrais une nouvelle instance, ce serait emulator-5556 . Ce problème a également persisté lors des redémarrages d'Eclipse et des cycles de déconnexion ! Plus loin, killx fermait la fenêtre, mais le processus était toujours en cours.

Alors, trouvez le emulator64-arm l'identifiant du processus ( no emulator-arm !) :

ps ax | grep "emulator64-arm"

...et puis juste kill -9 eso:

sudo kill -9 6728

...où 6728 était son PID. Cela déconnecte complètement l'émulateur afin qu'Eclipse puisse essayer de le faire fonctionner à nouveau.

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