web-dev-qa-db-fra.com

AdbCommandRejectedException obtenant des propriétés lors du test sur l'émulateur

Il devient vraiment frustrant de tester n'importe quelle application. Je lance l'émulateur et lance l'application pour la première fois. Cela fonctionne et commence immédiatement à le jeter dans les journaux ADB. 

DeviceMonitor: Failed to connect to client '2560': EOF
PropertyFetcher: AdbCommandRejectedException getting properties for device emulator-5554: device offline

Logcat n'affiche rien. J'ai tout essayé pour arrêter ça. Tuer et démarrer le serveur adb ne résout pas le problème. Je dois redémarrer l'AVD.

Toute aide serait appréciée. Merci

13
Michael Obi

Cela se produit généralement parce que l'émulateur Android ne fait que ralentir et que la commande adb arrive à expiration. Mais vous avez un paramètre que vous pouvez définir pour augmenter ce délai.

Si vous exécutez des commandes adb via gradle. Par exemple connnectedCheck. Vous pouvez utiliser le plugin Android DSL pour définir ce paramètre comme indiqué 

Android {
    adbOptions {
        timeOutInMs 60000 // set timeout to 1 minute
    }
}

Cela a été ajouté à Android gradle plugin 1.2.0. Malheureusement, cela ne fonctionne que si multidex est activé. Pour une raison quelconque, ils ont oublié de l'inclure pour les versions uniques d'APK. Mais il existe un moyen de contourner ce problème. Vous pouvez simplement appeler une méthode statique comme indiqué ci-dessous.

com.Android.ddmlib.DdmPreferences.setTimeOut(60000)

Si vous exécutez des commandes adb directement avec adb, vous avez la possibilité de définir une variable d’environnement qui gérera cela.

export ADB_INSTALL_TIMEOUT=5

N'oubliez pas que ADB_INSTALL_TIMEOUT est défini en secondes et non en millisecondes, comme dans gradle DSL. 

4
Blaz

Essayez avec cela, j'espère que cela vous aidera. 

1-adb kill-server
2-adb start-server pour redémarrer l’adb.
Il se trouve dans votre répertoire Android sdk, sous-dossier plattform-tools.
ou
Essayez de verrouiller et de déverrouiller votre émulateur en cliquant sur F7 et sur Vérifier le journal lorsque vous le faites.

1
vikas balyan

J'ai fait face à un problème similaire, et je cours 

périphériques adb 

dans Terminal et mon appareil est en mode hors connexion, j'ai redémarré l'appareil qui a commencé à fonctionner pour moi. Mais si vous rencontrez souvent ce problème, le redémarrage n’est pas une bonne solution.

0
Rahul Sonone

Le câble USB reliant le téléphone à votre PC affecte les périphériques hors connexion/l'état des périphériques. Essayez de remplacer le câble par un autre qui fonctionne.

0
user6838609

Je conseille à tous ceux qui utilisent Emulator de ne plus utiliser AVD. Procurez-vous un appareil réel ou téléchargez Genymotion. La version gratuite fait le travail.

0
Michael Obi

Cela m'est arrivé avec un vrai appareil.

Essayez de révoquer les autorisations de débogage USB (à partir de Paramètres du périphérique -> Options du développeur). Puis reconnectez le périphérique et donnez l’autorisation.

0
qwlice