Refreshing Appium Inspector: Failed to connect to server. Please check that it is running.

Sobald ich den Refresh-Button im Appium Inspector klicke, versucht sich der Appium Server alle paar Sekunden erfolglos mit dem von ihm gestarteten Android emulators zu verbinden („Emulator Nexus_4_API_21 not running“):

2016-11-07 17_03_22-appium inspector refresh error - Google-Suche

Nach etlichen Schleifen und ca. 2 Minuten erfolglosem Verbindungsversuchen erscheint schließlich die Fehlermeldung:


2016-11-07 17_13_09-Appium

Scrolle ich in den Meldungen hoch, entdecke ich eine ‚initiale‘ Fehlermeldung, die die Ursache des Problems stärker eingrenzen könnte:

error: Unable to start Emulator: [272]:WARNING:./android/base/files/IniFile.cpp:158:Failed to process .ini file

Ein solches IniFile.cpp habe ich jedoch auf dem ganzen Rechner nicht gefunden.

Zwischendurch, wenn zu viele andere laufende Programme den RAM verstopfen, kommt es zu solchen Fehlermeldungen, die aber mit dem Schließen überflüssiger Programme behoben werden können:

> error: Unable to start Emulator: Warning: requested ram_size 1536M too big, reduced to 512M
> 
> error: Unable to start Emulator: qemu-system-i386.exe: -drive if=none,index=0,id=system,file=C:\Users\mlwowr\AppData\Local\Android\Sdk/system-images\android-21\default\x86\/system.img: could not open disk image C:\Users\mlwowr\AppData\Local\Android\Sdk/system-images\android-21\default\x86\/system.img: Could not open 'C:\Users\mlwowr\AppData\Local\Android\Sdk/system-images\android-21\default\x86\/system.img': Invalid argument

Inzwischen kommt die zur Fehlermeldung ganz oben leicht abgewandelte Fehlermeldung:

> error: Unable to start Emulator: [5400]:WARNING:./androi
> error: Unable to start Emulator: d/base/files/IniFile.cpp:158:Failed to process .ini file C:\Users\mlwowr\.android\emu-update-last-check.ini for reading.

Diese Fehlermeldung scheint nicht das Problem zu sein, sondern ein Artefakt: https://code.google.com/p/android/issues/detail?id=223994

Ein spezifischer Hinweis hingegen ist:

> info: [debug] Trying to find Nexus_4_API_21 emulator
> info: [debug] Getting connected emulators
> info: [debug] Getting connected devices...
> info: [debug] executing cmd: C:\Users\mlwowr\AppData\Local\Android\Sdk\platform-tools\adb.exe devices
> info: [debug] 1 device(s) connected
> info: [debug] 1 emulator(s) connected
> info: [debug] Sending telnet command to device: avd name
> info: [debug] Getting running emulator port
> info: [debug] Socket connection to device created
> info: [debug] Socket connection to device ready
> info: [debug] Telnet command got response: a[K[Dav[K[D[Davd[K[D[D[Davd [K[D[D[D[Davd n[K[D[D[D[D[Davd na[K[D[D[D[D[D[Davd nam[K[D[D[D[D[D[D[Davd name[K
> Nexus_4_API_21
> info: [debug] Emulator Nexus_4_API_21 not running

Wenn ich in den General Settings ‚prelaunch application‘ anhake, zeigt sich, dass das genannte Problem vom Inspector unabhängig ist.

Lösungsansatz

Vermutlich ist der Bug in höheren Appium-Versionen behoben: https://github.com/appium/appium-adb/issues/150. Für Windows wurde (Stand:heute) diese Version noch nicht geupdated (seit ca. 1 Jahr). Diesen Lösungsansatz habe ich nicht weiters verfolgt, da ich Appium für die mobile UI- Testautomatisierung aktuell nicht empfehlen kann.

Archiv: Keine Lösungsansätze

    • Firewall abschalten
    • Device name genauso bezeichnen, wie es bei Launch AVD steht.
    • Device ready timeout hat keinerlei Auswirkungen gezeigt
    • Pre-Launch Application
    • Entferne alle überflüssigen Punkte im Dateinamen und alle Leerstellen im Dateipfad.
    • Ich hab ne ANDROID_SDK_HOME angelegt: http://stackoverflow.com/a/35443843/1777526 und eine neue AVD, aber nun wird bei Launch AVD nix mehr angezeigt.