Сервер ADB не ACK на macOS

Я получаю эту ошибку, так как два дня назад, когда я обновил свою Android-студию до последней стабильной версии 2.3; полное сообщение об ошибке, которое я получаю от Gradle Консоль:

07:59:59 E/adb: error: could not install *smartsocket* listener: Address already in use
07:59:59 E/adb: ADB server didn't ACK
07:59:59 E/adb: * failed to start daemon *
07:59:59 E/adb: error: cannot connect to daemon
07:59:59 E/ddms: '/Users/USER_NAME/Library/Android/sdk/platform-tools/adb start
server' failed -- run manually if necessary

Мои попытки решить проблему:

  • убейте все adb процессы и убедитесь, что ни один процесс не поддерживает порт 5037, adb kill-server (говорит * server not running * даже в тех случаях, когда работает adb), закройте Android Studio, удалите каталог ~/.android, запустите adb start-server (говорит * daemon not running. starting it now at tcp:5037 *; * daemon started successfully *, запустите приложение Android Studio и запустите приложение, ошибка MAC throws adb quit unexpectedly и Gradle показывает ту же самую ошибку, что и выше.

  • удалил и удалил все материалы Android Studio (кроме каталога проектов), перезапустил MAC, установил новую и последнюю студию Android.

  • увеличено Gradle vm ram org.gradle.jvmargs=-Xmx1536M в проекте gradle.properties

  • удаленный антивирус и перезапустили mac

Окружающая среда:

  • ОС: MacOS Sierra 10.12.3
  • Android Studio: 2.3
  • buildToolsVersion: '25.0.0 '
  • Android Debug Bridge версии: 1.0.39

Ответ 1

Address already in use означает, что у вас есть другой экземпляр работы adb. Проверьте системные переменные $PATH и $ANDROID_HOME и local.properties (ваш проект) и ваш .bash_profile. Убедитесь, что все они имеют одинаковый путь sdk для Android. Затем попробуйте перезапустить сервер adb. adb kill-server и adb start-server.

Ответ 3

Обычно я нахожу эту проблему, когда у меня есть два экземпляра работы ADB, то есть когда у меня одновременно работает студия Eclipse и Android и когда они указывают на другую SDK Manager (папку инструментов платформы) в системе. Попробуйте найти, какая другая среда IDE использует ADB, убить ее в Activity Monitor и запустить только один экземпляр. Или моя работа вокруг была иметь только одного менеджера SDK и указать оба моих IDE в одну папку с инструментами платформы.

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

Ответ 4

В моем случае у меня была установлена старая версия adb с использованием brew cask. И хотя я обновил свою Android Studio до последней версии, adb все еще указывал на установленную более раннюю версию brew.

Поэтому после обновления этой версии используйте:

brew cask install android-platform-tools

И убедившись, что сам adb указывает на новую версию, ошибки исчезли.

Ответ 5

Просто запишите путь для инструментов платформы (/Users/USER_NAME/Library/Android/sdk/platform-tools) В файле .bash_profile, расположенном по адресу (/Users/USER_NAME/.bash_profile), примерно так:

export PATH = "$ PATH: /Users/USER_NAME/Library/Android/sdk/platform-tools"