3

Любая команда adb приводит к следующему выводу:

* daemon not running. starting it now on port 5037 *
cannot bind 'local:5037'
ADB server didn't ACK
* failed to start daemon *
error: cannot connect to daemon

Нет запущенного экземпляра adb, и ничто не использует TCP-порт 5037.

1 ответ1

6

Обратите внимание, что в сообщении об ошибке указано local:5037 , а не tcp:5037 . На самом деле ADB пытается подключиться к сокету Unix в /tmp/5037 , что не удается.

В моем случае это было из-за того, что я раньше запускал adb как root. Таким образом, сокет принадлежал root, что запрещало моему пользователю удалять его. Соответствующая выдержка из strace adb fork-server server:

socket(PF_LOCAL, SOCK_STREAM, 0)        = 8
unlink("/tmp/5037")                     = -1 EPERM (Operation not permitted)
setsockopt(8, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
bind(8, {sa_family=AF_LOCAL, sun_path="/tmp/5037"}, 12) = -1 EADDRINUSE (Address already in use)
close(8)                                = 0

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .