Подтвердить что ты не робот

Версия сервера ADB (36) не соответствует этому клиенту (39) {Не использовать Genymotion}

После установки предварительного просмотра Android O на тестовом устройстве мой ADB перестает работать и начал давать мне эту ошибку.

adb server version (36) doesn't match this client (39); killing... adb E 03-27 08:01:55 2925 147690 usb_osx.cpp:333] Could not open interface: e00002c5 adb E 03-27 08:01:55 2925 147690 usb_osx.cpp:294] Could not find device interface error: could not install *smartsocket* listener: Address already in use ADB server didn't ACK * failed to start daemon * error: cannot connect to daemon

Единственные ответы, которые я встречал по этой проблеме, касались того, что Genymotion не синхронизируется с ADB, но я не использую Genymotion. Любая помощь будет принята с благодарностью. Я уже вытер и переустановил Android Studio, а также все его инструменты и настройки, но, похоже, все еще имеет эту проблему.

4b9b3361

Ответ 1

В моем случае эта ошибка возникла, когда я установил свой путь adb в среду как ~/.android-sdk/platform-tools (что происходит, когда, например, инструменты для android-платформы установлены через доморощенный), в версии которой было 36, но в Android Studio проект Android SDK следующий path ~/Library/Android/sdk, для версии adb было 39.

Я изменил свой PATH на платформенные инструменты на ~/Library/Android/sdk/platform-tools и была решена ошибка

Ответ 2

Это работает для меня...

  • перейти к настройкам GenyMotion → вкладка ADB
  • вместо использования инструментов Genymotion для Android, выберите пользовательские инструменты Android SDK и затем просмотрите установленный SDK.

Ответ 3

Прежде всего, удалите из заголовка "{Не используйте Genymotion}". Это отвлекает читателей, таких как я, которые не знают, что такое Genymotion. Абсурд здесь заключается в том, что вы получили один ответ с 21 очком, в котором говорится: "Войдите в настройки GenyMotion"...

Главное, что все остальные пропустили, заключается в том, что вы получите эту ошибку, если в фоновом режиме у вас есть работающий процесс adb. Итак, первый шаг - найти его и убить:

ps aux | grep adb
user          46803   0.0  0.0  2442020    816 s023  S+    5:07AM   0:00.00 grep adb
user          46636   0.0  0.0   651740   3084   ??  S     5:07AM   0:00.02 adb -P 5037 fork-server server

Когда вы его найдете, вы можете убить его с помощью kill -9 46636.

В моем случае проблема была старой версии adb, поступающей из GapDebug. Если вы получили это с GapDebug, выйдите из него, а затем выполните

adb kill-server
adb start-server

потому что с GapDebug в фоновом режиме, когда вы убиваете сервер adb, GapDebug начнет свою собственную копию немедленно, в результате чего запуск-сервер будет проигнорирован

Ответ 4

У вас есть две версии АБР $ /usr/local/bin/adb version Android Debug Bridge version 1.0.36 Revision 0e9850346394-android

$ /Users/user/Library/Android/sdk/platform-tools/adb version Android Debug Bridge version 1.0.39 Revision 3db08f2c6889-android

Вы можете увидеть, на какой PATH указывает (echo $PATH), но я исправил его с помощью adb stop-server на одной версии и adb start-server на другой.

Ответ 5

Чтобы добавить еще одно потенциальное решение, Helium by Clockworkmod имеет собственную версию встроенного ADB, который все время запускался. Выход из приложения Helium Desktop устраняет проблему.

Ответ 6

У меня была такая же ошибка. В моем случае, используя Appium, у меня было две версии ADB

$ /usr/local/bin/adb версия 36

и

$ /Users/user/Library/Android/sdk/platform-tools/adb версия 39

Решение:

  • убедитесь, что ваш $PATH в bash_profile указывает на: /Users/user/Library/Android/sdk/platform-tools/

  • остановите сервер adb: adb kill-server и проверьте, что Appium остановлен.

  • удалить версию adb 36 (или вы можете переименовать ее, чтобы иметь резервную копию): rm /usr/local/bin/adb

  • запустите сервер adb: adb start-server или просто запустите Appium

Ответ 7

У меня была такая же проблема с Android Studio - версия сервера adb (37) не соответствует этому клиенту (39). Я исправил следующее решение:

В Android Studio перейдите в Инструменты → Android → Менеджер SDK

На вкладке "Инструменты SDK" отключите платформу Android SDK Platform-Tools, нажмите "Применить", чтобы удалить.

Затем я переименовал папку Platform-Tools в Platform-ToolsOld

Затем в диспетчере SDK снова установите флажок "Инструменты платформы" для повторной установки.

Ответ 8

Я думаю, что у вас работает несколько серверов adb, genymotion может быть одним из них, но также и Xamarin - Visual studio для Mac OS может запускать сервер adb, закрывая Visual Studio для меня

Ответ 9

Как уже упоминалось здесь другими, что у вас может быть два запущенных adb... И добавить к этим ответам с точки зрения Linux box (для следующего новичка, который работает с Linux);

  1. Удалите дистрибутив Android-инструменты (используйте zypper или yum и т.д.)

    # zypper -v rm android-tools
    
  2. Найдите, где находится ваш другой adb

    # find /home -iname "*adb"|grep -i android
    

    Скажи, что это было в;

    /Главная/разработчик /Android/Sdk/платформенные инструменты /ADB

  3. Затем создайте ссылку на нее в папке /usr/bin

     ln -s /home/developer/Android/Sdk/platform-tools/adb  /usr/bin/adb
    
  4. Затем;

     # adb start-server