web-dev-qa-db-fra.com

Android Studio - Problèmes liés à Lollipop, ADB et Genymotion: les appareils ne s'affichent pas. "Le serveur publicitaire est obsolète. tuant ..."


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 Shell

greg 72523 0,0 0,0 635956 2296 ?? Heure 16:14 0: 00.02 Adb -P 5037 serveur serveur de fourche

116
loeschg

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.

Genymotion Settings window

241
plackemacher

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.

3
CROSP

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.

2
Dylan Pierce

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.

0
Akash Agarwal

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