Appium: версия сервера adb (31) не соответствует этому клиенту (36)

Вот моя проблема, я запускаю свой Appium script с помощью python вместо py.test. Я делаю это потому, что py.test не играет хорошо с переменными, которые я хочу получить из текстового файла. Однако, когда я запускаю свой script с помощью python, все работает, кроме как бы то ни было, мой первый метод всегда будет иметь ошибку. Кто-нибудь знает, как исправить ошибку версия сервера adb (31) не соответствует этому клиенту (36)?

версия сервера adb (32) не соответствует этому клиенту (36); killing... "shell getprop ro.build.version.release" вышел с кодом 1 { "stdout": "," stderr ":" ошибка: устройство "версия сервера adb (32) не соответствует этому клиенту (36 ); killing... 'not found\n", "code": 1}

Ответ 1

Я исправил это, выполнив следующее:

  • в настройках GenyMotion → вкладка ADB,
  • Вместо Использовать инструменты Genymotion для Android (по умолчанию), я выбрал Использовать пользовательские инструменты Android SDK, а затем перешел к моему установленному SDK.

Ответ 2

Одна из возможных причин возникновения этой ошибки связана с различием в версиях adb на машине разработки и подключенным подключенным устройством/эмулятором, используемым для отладки.

Таким образом, разрешение:

  • Сначала отключите устройство/эмулятор.
  • Запуск в командной строке терминала/команды:

    adb kill-server
    adb start-server
    

Это приведет к успешному запуску adb. Теперь вы можете подключить устройство. Надеюсь, что это поможет.

Ответ 3

Точно такая же проблема. Пробовал убить и начать, но что это сработало для меня:

adb reconnect

Надеюсь, что это поможет.

Ответ 4

Кажется, в вашей системе есть 2 версии adb. Прочтите их и сохраните adb только в своей Android SDK, удалите все остальные папки, включая файл adb. Вы можете узнать, какой adb вы используете в Application Monitor:

введите описание изображения здесь

Это может быть проблема, если adb не входит в вашу папку Android SDK.

В моем случае я обнаружил, что я запускал adb отсюда:

/Library/Поддержка приложений /RSupport/Mobizen 2

после удаления папки Mobizen2, все команды adb работают нормально.

Ответ 5

Скорее всего, на вашем компьютере имеется несколько версий adb. Вы запускаете сервер adb с использованием одной версии, а затем пытаетесь подключиться к этому серверу с использованием другой версии. Например, у Genymotion есть собственный adb, и если вы запустите эмулятор Genymotion, а затем попытаетесь использовать adb из Android SDK, скорее всего, у вас будет такая ошибка (последний Genymotion, который имеет 2.7.2, имеет версию adb 1.0.32, а последняя версия Android SDK имеет версию adb 1.0.36).

Ответ 6

Для меня это происходило, потому что у меня были инструменты для Android в двух местах: 1. Место, где я вручную загрузил его из Google 2. Автоматическая загрузка с помощью студии Android

Что мне удалось сделать, это полностью удалить папку в # 1 и указать мой профиль bash и все другие ссылки на место, где Android-студия установила его для меня:/Users/my_user_name/Library/Android/sdk

Это разрешило это.

Ответ 7

Для тех из вас, у кого установлен HTC Sync, удаление приложения исправило эту проблему для меня.

Ответ 8

У меня была такая же проблема, поскольку обновленный platfrom-инструмент до версии 24 и не уверен в корневой причине... (текущая версия adb 1.0.36)

Также попробуйте adb kill-server и adb start-server, но проблема все еще произошла

но когда я понижаю версию adb до 1.0.32, все работает

Ответ 9

В моем случае решение было на базе ОС Ubuntu:

sudo apt remove android-tools-adb
adb kill-server
adb start-server

опционально версию можно проверить, используя команду adb version.

Поскольку вы или ваш дистрибутив, возможно, уже установили ADB перед установкой в ​​Android Studio.

И это может вызвать эту проблему.

Ответ 10

В Windows просто зайдите в диспетчер задач Windows, если есть какие-либо другие процессы adb.

Если да, просто убейте его, а затем выполните команду "adb start-server".

Надеюсь, он должен решить проблему.

Ответ 11

Для всех, у кого есть эта проблема (на окнах):

  • Открыть диспетчер задач
  • Перейдите к процессам и выберите ADB.EXE
  • Щелкните его правой кнопкой мыши и проверьте свойства
  • Скорее всего, вы увидите другой путь от того, где работает adb.exe(либо менеджер HTC, Genymotion и т.д.)
  • Убейте процесс
  • Запустите ADB.exe с вашего студийного пути android (в моем случае: C:\Users\%user%\AppData\Local\Android\sdk\platform-tools)

Это решило проблему в моем случае.

Ответ 12

Что сработало для меня:

  • adb kill-server
  • Закрыть все chrome://inspect/#devices окна/вкладки
  • adb start-server
  • adb devices

Ответ 13

  • adb kill-server
  • закрыть любое приложение для ПК, которое вы используете для управления телефоном Android, например. 360mobile (360 手机 助手). вам может потребоваться завершить их в диспетчере задач при необходимости.
  • adb start-server, и он должен быть решен

Ответ 14

Эта проблема для меня была вызвана одновременным запуском apowermirror, из чего я могу сказать, что любое программное обеспечение, которое может использовать другую версию adb, может вызвать эти проблемы, как упоминают другие в этой теме, это может включать Genymotion или другие проблема была в нереальной студии.

Ответ 15

Если вы используете Android-студию, попробуйте:

Удалить и переместить переменную adb из переменной system/user. Затем перейдите в терминал студии android и введите там команду start-service adb.

Я попробовал это, и это сработало для меня.

Ответ 16

У меня недавно была и эта проблема, и после того, как ни один из ответов здесь не работал, я понял, что APK, который я тестировал, был бы построен против последнего sdk.

Итак, я вошел в настройки Appium и изменил версию платформы на последнюю версию, и это решило проблему для меня.