Mise à jour (11/10/14): Genymotion a publié la version 2.3.1 qui corrige ce problème. https://cloud.genymotion.com/page/changelog/#231
Mise à jour (21/10/14): Genymotion a répondu à mon courrier électronique d'assistance et indiqué que la solution recommandée par @plackemacher ci-dessous est la solution suggérée pour le moment. Ils sont conscients du problème.
Depuis la mise à niveau vers Lollipop, je rencontre des problèmes d’annonce lors de l’utilisation d’un émulateur Genymotion. Les appareils n'apparaissent pas dans Android Studio. L'erreur suivante s'affiche également lorsque j'essaie d'exécuter adb devices
:
$ adb devices
adb server is out of date. killing...
cannot bind 'tcp:5037'
ADB server didn't ACK
* failed to start daemon *
error:
Je ne sais pas si c'est à cause de la mise à niveau de Lollipop ou d'une coïncidence.
Éditer/mettre à jour :
Selon le commentaire de Chris Satton, j'ai recherché si plusieurs processus adb étaient en cours d'exécution (ps aux | grep adb
), et il semble qu'il s'agisse d'un conflit entre Genymotion (?). Il semble inclure sa propre version de adb.
greg 72550 0,0 0,0 611164 1508 ?? S 16h14
0: 00.02/Applications/Genymotion.app/Contents/MacOS/player.app/Contents/MacOS/tools/adb -s 192.168.56.102:5555 Shellgreg 72523 0,0 0,0 635956 2296 ?? Heure 16:14 0: 00.02 Adb -P 5037 serveur serveur de fourche
Essayez de lancer ceci:
killall -9 adb
Cela devrait supprimer toutes les traces en cours du démon
Edit: Meilleure solution ci-dessous
Il se peut que ce problème soit adb
incompatibilité avec la version la plus récente du SDK de la plate-forme. La meilleure solution à ce problème avec Genymotion consiste à définir le Android SDK de Genymotion sur votre emplacement. Cela peut être trouvé dans la page Paramètres.
Dans mon cas, le problème était que j'ai installé les outils adb et fastboot en utilisant cette commande
Sudo apt-get install Android-tools-adb Android-tools-fastboot
Depuis le référentiel, dans ce cas, cet exécutable va dans le répertoire /usr/bin/
afin que vous puissiez l'utiliser à l'échelle du système (variable $PATH
).
En outre, je lance Android studio avec genymotion configuré comme dans la réponse ci-dessus.
Ainsi, lorsque j'essayais d'accéder à adb (adb Shell
dans mon cas), il tentait de démarrer une autre copie du processus adb (serveur) et de se lier au port par défaut. Le problème se trouvait donc ici.
Je viens de désinstaller Android-tools-adb Android-tools-fastboot
et d'ajouter le chemin d'accès à mon Android SDK
à la variable $PATH
.
Utiliser genymotion sur Ubuntu.
Ma solution consistait à utiliser le binaire au lieu de l'adb PATH'd.
~/genymotion/tools/abd reboot
De plus, j'ai le SDK personnalisé dans Genymotion.
Ce qui a fonctionné pour moi finalement et ce que je pense être le plus rapide, c’est que vous exécutez simplement les commandes adb directement à partir du dossier platform-tools
. Par exemple, utilisez ./adb devices
pour afficher les périphériques. J'ai également remplacé le SDK de Genymotion par le SDK par défaut d'Android, mais je ne suis pas sûr que cela ne fonctionnera pas sans cela.
Je pense que si vous voulez utiliser adb c'est mieux d'utiliser Android l'émulateur de studio et de tester ce que vous voulez, après avoir pu utiliser Genymotion