Adb не может запустить демон, сбой CreateProcess, ошибка 2
Я не могу запустить adb root
или любую команду adb. Я получаю следующую ошибку. Я установил ADB_TRACE=1
:
C:\WINDOWS\system32>adb root
system/core/adb/adb.c::main():Handling commandline()
system/core/adb/adb_client.c::_adb_connect():_adb_connect: host:version
system/core/adb/sysdeps_win32.c::socket_loopback_client():socket_loopback_client: could not connect
to tcp:5037
system/core/adb/adb_client.c::adb_connect():adb_connect: service root:
* daemon not running. starting it now on port 5037 *
CreateProcess failure, error 2
* failed to start daemon *
error: cannot connect to daemon
Я использую Windows 7.
От netstat -a
Я ничего не вижу с помощью порта 5037. Когда я запускаю adb, я вижу, что adb мгновенно отображается в диспетчере задач, но затем он исчезает. Брандмауэр Windows отключен. Я получаю те же результаты, если я запустил cmd
в качестве администратора.
Ответы
Ответ 1
Я давно решил эту проблему, но не обновил этот вопрос.
У меня была эта проблема, потому что я запускал неправильный исполняемый файл adb. У меня был один исполняемый файл в C:\Windows\system32
, а другой - в другом каталоге. Версия в C:\Windows\system32
не имела всех файлов, необходимых для adb, тогда как версия в другом каталоге. Я не уверен, что эти файлы были, но исполняемый файл adb был одинаковой версией в обоих каталогах. Поскольку C:Windows\system32
был первым в PATH, эта версия была выполнена первой. Я удалил adb из каталога Windows, и проблема исчезла.
Ответ 2
Вам нужно убедиться, что все ваши средства разработки используют ту же версию adb
.
Один простой способ сделать это - открыть окно Command Prompt
в качестве администратора и запустить эти 2 команды для удаления всех копий:
taskkill /f /im adb.exe
for %a in ("%systemroot%" "%userprofile%" "%path:;=";"%") do @del /q /f /s "%~a\adb.exe" "%~a\adbwinapi.dll" "%~a\adbwinusbapi.dll" 2>nul
Затем переустановите последнюю версию пакета platform-tools
из диспетчера SDK или вручную, загрузив и распакуя файл пакета (проверьте adb
info page для link) в папку %ANDROID_SDK_HOME%
.
Также убедитесь, что папка %ANDROID_SDK_HOME%\platform-tools
включена в ваш %PATH%
.
Ответ 3
Я столкнулся с той же проблемой, и для ее решения я удалил пакет Platform-tools в SDK manager → SDK tools и переустановил его. Теперь это работает правильно.
Ответ 4
Когда вы обновляете инструменты платформы Sdk (которые содержат adb.exe) до выпуска 28.0.2, и если вы используете Windows 8.1, тогда требуется несколько обновлений из Windows.
В соответствии с примечаниями к выпуску инструментов платформы SDK (https://developer.android.com/studio/releases/platform-tools):
Обновленные требования Windows: инструменты платформы теперь зависят от среды выполнения Windows Universal C, которая обычно устанавливается по умолчанию через Центр обновления Windows. Если вы видите ошибки, в которых упоминаются отсутствующие библиотеки DLL, возможно, вам придется вручную извлечь и установить пакет времени выполнения ".
URL обновления Windows: https://support.microsoft.com/en-ca/help/2999226/update-for-universal-c-runtime-in-windows
Необходимое условие для обновления Windows: https://www.microsoft.com/en-us/download/details.aspx?id=42327
обновляется обоими обновлениями Windows, и теперь он работает отлично для меня.
Ответ 5
Я просто решил эту проблему, зайдя в диспетчер задач и убив все adb ', тогда это работает как чудо.
Ответ 6
Я решил это, перейдя в реальный каталог инструментов платформы.
Путь по умолчанию - C:\Users [youruser]\AppData\Local\Android\sdk\platform-tools
По-видимому, он не запустится, если вы не перейдете в этот каталог.
Ответ 7
Вы можете попробовать это решение: переместите adb.exe и adbwinapi.dll на X:\Windows\system
Это сработало для меня
Ответ 8
У меня такая же проблема, BTW Я использую win7 64bit.
решил это следующим образом:
Переместите adb.exe и adbwinapi.dll в папку X:\Windows\SysWOW64
надеюсь, что полезен