Device null not found adb что делать
Перейти к содержимому

Device null not found adb что делать

  • автор:

ADB: device not found

Если при использовании ADB возникает ошибка error: device not found , не обязательно переключать/перезапускать телефон/эмулятор, достаточно перезапустить демон adb:
adb kill-server, после чего следует подождатьне менее 5 сек. После этого любая adb-команда снова запустит демона, и в большинстве случаев связь восстанавливается и все девайсы обнаруживаются.

Но, если даже несколько перезапусков не решили проблему, то есть ещё вариант решения проблемы: в эмуляторе/на телефоне в настройках отладки выключить и снова включить галочку «Разрешать отладку», это вызовет соответствующий перезапуск сервиса отладки, но только уже со стороны Андроида.

A tool fixing the «adb server is out of date» bug

If you are debugging your Android app on a phone or a tablet over USB, you might get the following message shown every time you (or your debugging tool) runs ADB:

adb server is out of date. killing.
* daemon started successfully *

adb server is out of date. killing.
* daemon started successfully *
** daemon still not runningerror: cannot connect to daemon

The message will make every small operation involving ADB last 3-5 seconds, making deployment annoyingly slow and failing most of the times.

This happens because your phone sync application (e.g. HTC Sync) has its own version of adb.exe that is incompatible with Android SDK. Every time you connect your phone to a USB port, the sync application will try to start its own version of adb.exe interfering with your one.

The solution

A trivial solution would be to find the old adb.exe (e.g. C:\Program Files (x86)\HTC\HTC Sync 3.0\adb.exe) and delete it. However, this would break the sync application functionality.

To make things better we have developed ADBFix — a small tool that you can download from this page. The tool will detect the older instances of adb.exe that are conflicting with Android SDK and replace them with a stub. The stub will always run the adb.exe from Android SDK instead, so no conflicts will arise.

To fix the «adb server is out of date» bug, please follow these steps:

  1. Connect your device to the USB port
  2. Download and run ADBFix.
  3. Specify the location of your Android SDK.
  4. Ensure that ADBFix finds the conflicting version of adb.exe:
  5. Press «Fix all». Ensure that the conflict is marked as «fixed»:
  6. Note that you can always roll back the fix by selecting an ADB instance and pressing «Restore original ADB».

The internals

When you start the tool, it will search for all instances of adb.exe running (and potentially causing future «adb server out of date» messages) and compare their versions with the version of adb.exe from Android SDK. If a version mismatch is found, the tool will rename the old adb.exe to adb_conflicting_backup.exe and put a shortcut to the adb.exe from SDK in place of the old adb.exe.

Thus, both Android SDK and your sync application (e.g. HTC Sync) will use the same version of adb.exe causing no more conflicts.

Note that when you click «Fix All» you will see the «adb server is out of date» message, as adbfix will have to stop the old adb.exe. Once it’s successfully stopped, the the new version will be used and the annoying message won’t bother you again.

Download

License

ADBFix is free for commercial and non-commercial use.

adb shell error: device not found (Ubuntu)

I am complete novice on adb. When it comes to Android I could be classified as «dumb user» — trying however to get one level up, hence playing with adb:

$ ./adb shell error: device not found $ ./adb devices * daemon not running. starting it now on port 5037 * * daemon started successfully * List of devices attached
  • the device is visible and I can copy files to/from it
  • I went through the steps suggested below and still no luck
  • I tried connecting the phone to different USB ports — my comp has 2 USB controllers — one USB 3.0 and one USB 2.0

Steps to enable USB debugging on my device with 7.0 Nougat Android:

  1. Go to «Configuration«
  2. Go to «About Telephone / Android 7.0«
  3. Click several times «Build Number» until message «You’re now developer» appears
  4. Go back to «Configuration» — «<> Developer options» are now visible — go inside
  5. A number of fabulous options appear — switch-on «USB Debugging«

I am using Linux and I would prefer to stay away from Windows.

Still no luck — device not found

Pawel Debski
asked Jul 22, 2018 at 18:16
Pawel Debski Pawel Debski
241 1 1 gold badge 3 3 silver badges 13 13 bronze badges
Check if the device is visible for adb with this command adb devices .
Jul 22, 2018 at 21:05

2 Answers 2

Check adb devices . If no device shows up follow the steps below.

First, check to make sure USB Debugging is enabled. On most devices:

  1. Go into ‘About Phone’, ‘About Device’, or ‘About Tablet’
  2. Find ‘Build Number’. It’s location varies from devices to device, but look for menus such as ‘Software Information’
  3. Tap ‘Build Number’ until you see a message saying ‘You are now a developer’. If you see a message saying something along the lines of ‘This option has been disabled by your administrator’, I’m sorry to say you will need to reset your device to use ADB. You could also talk to your administrator.
  4. Go back to the main settings page. At the bottom, you should now see ‘Developer Options’. Tap it.
  5. A warning may display. Read it carefully, and decide at your own risk.
  6. Scroll until you find ‘USB Debugging’. Tap it. You will see another warning. Read. Decide.
  7. Connect your device to your computer. Run adb shell. A dialog box will pop up asking if you trust your computer. Tap yes.

Congrats! It should now work.

If that doesn’t work, try different cables, phones, computers, and try to find what is the problem. Google is, as always, your friend.

answered Jul 22, 2018 at 22:32
Several Circles Several Circles
354 1 1 gold badge 2 2 silver badges 12 12 bronze badges

OK, I did it. Apparently I was using some old adb binary that came with app I wanted to use. After I installed the one available in repo, as suggested by this website, It now sees the device:

$ sudo add-apt-repository ppa:phablet-team/tools [sudo] password for admin: More info: https://launchpad.net/~phablet-team/+archive/ubuntu/tools Press [ENTER] to continue or ctrl-c to cancel adding it -- ciach $ sudo apt-get update Hit:1 http://pl.archive.ubuntu.com/ubuntu xenial InRelease -- ciach $ sudo apt-get install android-tools-adb android-tools-fastboot Reading package lists. Done Building dependency tree Reading state information. Done -- ciach $ adb devices adb server is out of date. killing. * daemon started successfully * List of devices attached $ adb devices List of devices attached 0123456789ABCDEF unauthorized -- click "Authorize" on the device $ adb devices List of devices attached 0123456789ABCDEF device

Если adb не видит ваше устройство

Если вы тестируете свои программы на реальном устройстве, нужно иметь подходящие драйвера, чтобы Android Studio могла устанавливать вашу программу на устройство. В некоторых телефонах используются стандартные драйвера и Windows без проблем видит ваше устройство (так было у меня с планшетами Nexus 7). В некоторых случаях требуется скачать драйвер у производителя и только тогда всё заработает (например, Samsung S2).

Недавно столкнулся с третьим случаем — устройство Megafon Login+. Студия не видела устройство. Драйверов нет, служба поддержки оператора ответила, что их это не касается. Лучи поноса Мегафону.

На сайте 4PDA можно скачать драйвера для Login+, компьютер видит устройство, а студия по-прежнему не видит его. Пичалька.

Итак, вы установили режим «Отладка по USB» (меню «Для разработчиков»), установили драйвера для Android Composite ADB Interface (может называться несколько иначе). Диспетчер устройств ADB-интерфейс аппарата видит, но при вводе команды adb devices список подключенных устройств остаётся пуст.

Причин может быть несколько, но наиболее вероятная — компьютер не понимает, что за устройство к нему подключено. Довольно часто наблюдается при работе с различными китайскими брендами и «no-name» аппаратами. Решение проблемы простое и избавит Вас от многократных и бесполезных установок-переустановок различных версий драйверов. Нужно просто «познакомить» ваш гаджет с компьютером.

Надо узнать Vendor ID (VID) устройства. В диспетчере устройств щёлкаем два раза по Android Composite ADB Interface (может называться несколько иначе) и переходим на вкладку «Сведения».

Нас интересует, что находится между знаками «_» и «&» — это может четырёхзначное число. Запоминаем его, у меня это было 1271. Далее идём по пути C:\Users\Ваше имя пользователя\.android и открываем файл adb_usb.ini текстовым редактором. Вставляем строку с вашим VID в следующем виде (пример для Login+):

# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT. # USE 'android update adb' TO GENERATE. # 1 USB VENDOR ID PER LINE. 0x1271

Перезагружаем компьютер, запускаем студию, подключаем устройство — Вуаля — всё работает!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *