• Ubuntu 14.04 32-bit
  • Appium 1.4.16
  • Genymotion (Android 4.3, 5.0) & Real device (Android 5.1.1)
  • Robot framework
  • При запуске получаю ошибку:

    WebDriverException: Message: A new session could not be created. (Original error: UiAutomator quit before it successfully launched)

    В логах аппиума:

    info: [debug] spawning: /home/vitalii/android-sdk-linux/platform-tools/adb -s 192.168.57.101:5555 shell uiautomator runtest AppiumBootstrap.jar -c io.appium.android.bootstrap.Bootstrap -e pkg com.test.app -e disableAndroidWatchers false
    info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_RESULT: shortMsg=java.lang.IllegalStateException
    info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_RESULT: longMsg=UiAutomationService android.accessibilityservice.IAccessibilityServiceClient$Stub$Proxy@25af113ealready registered!
    info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_CODE: 0
    info: [debug] UiAutomator exited
    error: UiAutomator quit before it successfully launched
    info: [debug] Cleaning up appium session
    error: Failed to start an Appium session, err was: Error: UiAutomator quit before it successfully launched

    Исходя из того, что мне удалось нагуглить, проблема в запущенном uiautomator . В логах аппиума я вижу, что там есть убивание уиавтоматора через:

    info: Starting App
    info: [debug] Attempting to kill all ‘uiautomator’ processes
    info: [debug] Getting all processes with ‘uiautomator’
    info: [debug] executing cmd: /home/vitalii/android-sdk-linux/platform-tools/adb -s 192.168.57.101:5555 shell “ps ‘uiautomator’”
    info: [debug] No matching processes found

    Но если выполнить в консоли adb -s 192.168.57.101:5555 shell “ps ‘uiautomator’” - ничего не будет найдено. А если поискать вот так:

    adb -s 192.168.57.101:5555 shell “ps | grep ‘uiautomator’”
    то найдется
    u0_a60 1658 196 1010928 43344 ffffffff f76ebf75 S com.github.uiautomator

    Сделав килл этому процессу через adb kill и выполнив, команду которая падает в аппиуме:

    info: [debug] spawning: /home/vitalii/android-sdk-linux/platform-tools/adb -s 192.168.57.101:5555 shell uiautomator runtest AppiumBootstrap.jar -c io.appium.android.bootstrap.Bootstrap -e pkg com.test.app -e disableAndroidWatchers false

    я вижу, что она отрабатывает без ошибок.
    Но запустив тест, он опять упадет. Получается при запуске теста снова процесс uiatomator возобновляется и не убивается.

    Функция поиска процесса видимо была изменена после этого сообщения

    Проблема существует как на дженимоушн, так и на реальном девайсе.