Вопрос или проблема
Мне пришлось установить инструменты adb на мой Linux Ubuntu через командную строку, но когда я выполняю команду adb devices
, я получаю следующий вывод в моем терминале:
uriel@uriel-linux-ubuntu:~$ adb devices
List of devices attached
adb server version (41) doesn't match this client (39); killing...
ADB server didn't ACK
Full server startup log: /tmp/adb.1000.log
Server had pid: 8577
--- adb starting (pid 8577) ---
adb I 02-28 16:19:21 8577 8577 main.cpp:57] Android Debug Bridge version 1.0.39
adb I 02-28 16:19:21 8577 8577 main.cpp:57] Version 1:8.1.0+r23-5ubuntu2
adb I 02-28 16:19:21 8577 8577 main.cpp:57] Installed as /usr/lib/android-sdk/platform-tools/adb
adb I 02-28 16:19:21 8577 8577 main.cpp:57]
adb I 02-28 16:19:21 8577 8577 adb_auth_host.cpp:416] adb_auth_init...
adb I 02-28 16:19:21 8577 8577 adb_auth_host.cpp:174] read_key_file '/home/uriel/.android/adbkey'...
adb I 02-28 16:19:21 8577 8577 adb_auth_host.cpp:391] adb_auth_inotify_init...
adb server killed by remote request
failed to start daemon
error: cannot connect to daemon
uriel@uriel-linux-ubuntu:~$
Как мне решить эту проблему?
Пожалуйста, установите adb от имени root.
Затем в /root/.bashrc: добавьте adb в путь. Не забудьте правильно обновить путь к вашей установке adb.
Запустите новый Bash и попробуйте снова “adb devices”.
Удачи!
Ответ или решение
Ошибка «* failed to start daemon error: cannot connect to daemon» при работе с ADB на Ubuntu может быть довольно распространённой, и её решение может иметь несколько уровней сложности в зависимости от точных причин. В данной ситуации важно понять основные моменты функционирования ADB (Android Debug Bridge) и причины, по которым могут возникать такие ошибки.
ТЕОРИЯ
ADB — это инструмент командной строки, который позволяет взаимодействовать с Android-устройствами. Он служит для отладки приложений, переноса файлов между устройством и компьютером, выполнения команд в командной строке на устройствах и многого другого. ADB работает по серверно-клиентской модели: клиент (ваша машина) отправляет команды на сервер, который затем общается с демоном, запущенным на вашем устройстве.
Ошибка, с которой вы столкнулись, связана с несовпадением версий клиента и сервера ADB. Клиент, запущенный на вашем компьютере, использует версию 39, в то время как сервер запускает версию 41. Это несовпадение версий нарушает процесс взаимодействия ADB и приводит к ошибкам подключения. Добавим к этому необходимость обеспечения корректной установки и настройки ADB на вашем Ubuntu.
ПРИМЕР
Для решения проблемы несовпадения версий и устранения возникшей ошибки выполните следующие шаги:
-
Обеспечьте очистку старых версий ADB:
- Откройте терминал и введите:
sudo apt-get remove adb
Это действие удалит старую версию ADB.
- Откройте терминал и введите:
-
Установите правильную версию ADB:
- Чаще всего наиболее правильным будет загрузить самую свежую версию ADB Platform Tools напрямую с официального сайта Android:
- Перейдите по ссылке и скачайте инструменты платформы для Linux.
- Разархивируйте архив в удобную для вас директорию.
- Чаще всего наиболее правильным будет загрузить самую свежую версию ADB Platform Tools напрямую с официального сайта Android:
-
Настройка PATH:
- Откройте файл
~/.bashrc
для редактирования, добавив путь к каталогу с разархивированными инструментами платформы:export PATH=$PATH:/path/to/extracted/platform-tools
Не забудьте заменить
/path/to/extracted/platform-tools
на фактический путь к каталогу.
- Откройте файл
-
Примените обновления в текущей сессии терминала:
- Выполните команду:
source ~/.bashrc
Это применяет изменения, внесённые в файл
.bashrc
, к текущей сессии.
- Выполните команду:
-
Перезапуск ADB:
- Убедитесь, что ни один демон ADB не запущен:
adb kill-server
- После этого запустите команду:
adb start-server
- Убедитесь, что ни один демон ADB не запущен:
-
Проверка устройства:
- Повторите команду, чтобы проверить подключенные устройства:
adb devices
- Повторите команду, чтобы проверить подключенные устройства:
ПРИМЕНЕНИЕ
После выполнения всех указанных шагов несовпадение версий ADB должно быть устранено. Вы убедились, что у вас установлены последние инструменты платформы, а путь правильно настроен. Теперь сервер ADB и его клиент должны общаться безошибочно.
Если после этого проблема будет продолжаться, имеет смысл проверить, что все необходимые отладочные функции на вашем Android-устройстве включены. Убедитесь, что режим отладки USB активирован в меню разработчика, и попробуйте подключить устройство к другому USB-порту или использовать другой кабель, чтобы исключить потенцальные аппаратные неисправности.
Этот процесс исправления ошибок ADB улучшит общее взаимодействие между вашим Ubuntu и Android устройством, обеспечивая удобство и эффективность разработки и отладки. Применение постоянного подхода к администрированию и поддержке может не только решить текущие проблемы, но и предотвратить их возникновение в будущем.