Пристрій Android ADB в режимі офлайн, не може видавати команди


329

Я більше не можу підключитися до свого пристрою за допомогою ADB через командний рядок або в Eclipse .

Запуск команди

adb devices

повертає ім'я пристрою, але там написано, що це офлайн.

Те, що я спробував.

  1. Увімкнено режим налагодження Android
  2. Перевстановлено драйвер USB Google
  3. Відновлено ОС до раніше працюючої резервної копії ( CyanogenMod )
  4. Поміняв кабель USB
  5. Перезавантажували телефон / комп’ютер кілька разів
  6. Оновлено Android SDK

Я справді не маю поняття, що відбувається. Все, що ти думаєш, я можу спробувати, я все вухо.

Щоб було зрозуміло, якщо у вас виникає ця сама проблема, можливо, це застарілий SDK. З 4.2.2 є функція безпеки, яка вимагає підтвердити відбиток RSA на підключувальному пристрої. Відкрийте менеджер SDK та оновіть інструменти! Потім перезавантажте.


22
спробуйте інший порт USB.
jayellos

єдиний інший порт - usb3
Брайан,

3
Я також стикався з такою проблемою. Що я зробив, було * видавати команду adb kill-server, adb start-server. * спробуйте інший порт USB, він переважно працюватиме на задній панелі ПК., * перезавантажте пристрій, * перезапустіть затемнення, * перезапустіть комп'ютер, * змініть USB-кабель, деякі USB-кабелі вийдуть з ладу (низька якість). Нарешті, якщо проблему не вирішено, перевстановіть драйвер USB-пристрою.
jayellos


3
Зі мною трапилось те саме. У моєму випадку я просто відключаю параметр Developer і знову вмикаю. Це все.
Kyaw Nyi Win

Відповіді:


139

Сьогодні я отримав таку ж проблему після того, як мої Nexus 7 та Galaxy Nexus були оновлені до Android 4.2.2.

Для мене це було виправлено - оновити платформу-інструменти SDK до r16.0.1. Для мене ця версія не відображалася в моєму менеджері SDK, тому я її зняв безпосередньо з http://dl.google.com/android/repository/platform-tools_r16.0.1-windows.zip .

Потім вам потрібно перейменувати platform-toolsкаталог і розпакувати його android-sdk-windows/platform-tools. Використовуючи диспетчер SDK, я також оновив до цього останні інструменти sdk.

Якщо весь ваш Eclipse та ADT стародавні, можливо, вам знадобиться також оновити їх, але мені цього не потрібно було.

Примітка. Можливо, вам доведеться запустити менеджер SDK двічі (один раз, щоб оновити себе), перш ніж ви побачите останні пакети.


1
У мене є r17, але у мене така ж проблема. Чи допоможе повернення до r16.0.1?
Олександр Сурафель

@spartacus Я не думаю, тому я думаю, що проблема для вас може лежати в іншому місці.
hack_on

Вирішено проблему, спричинену відсутністю платформи Android SDK
Tai Dao

Працювали саме в описаному порядку. Заключний крок - дозволити це по телефону.
влада

24
Просто перезавантажте телефон або пристрій і насолоджуйтесь, не потрібно перезапускати adb нічого іншого.
UMAR

135

Спробуйте бігти adb devicesпісля запуску adb kill-server. Після цього з'являється питання безпеки. Працювали для мене.


Працює, якщо ваші драйвери вже оновлені та все ще виникають проблеми. В інших випадках теж, можливо, я думаю.
kAmol

Обов’язково відключіть інші пристрої від пристрою. У моєму випадку мій хост віртуальної машини все ще був підключений через tcpip, і мій гість все ще міг успішно підключитися, але це було б офлайн. Щоб отримати підказку RSA, мені довелося виконати adb kill-serverкоманду на своєму хості, перш ніж підключитися до мого гостя через adb connect 192.x.x.x.

adb start-server після цього
madz

Взагалі в цьому і є фокус. Прийміть відповідь у спеціальному випадку.
Ратул

Я, мабуть, пропустив "дозволити налагодження USB від xx: xx: xx" на телефоні. Перезапуск сервера та підключення USB знову вискочили його.
Дан Болсер

77

Схоже, це часто трапляється під час підключення до пристрою в режимі Wi-Fi (наприклад, в Android Studio або в консолі, запустивши, adb tcpip 5555наприклад).

Виправити:

  1. Відключіть USB-з'єднання - або вимкніть Wi-Fi пристрою, якщо ви підключені через Wi-Fi.
  2. Закрийте Android Studio / Eclipse / інші IDE.
  3. Виконати, adb kill-serverщоб переконатися, що adb не працює.
  4. Перезавантажте свій пристрій Android.
  5. Після перезавантаження вашого пристрою підключіть його через USB та запустіть adb devices. Це має запустити демон ADB. Тепер ваш пристрій знову має бути в мережі.

2
Крок 3 - це, мабуть, ключове рішення тут! закрийте інтерфейс командного рядка і вбийте процес, якщо він все ще працює, і спробуйте ще раз!
reubenjohn

Це працює для мене (Galaxy Tab GT P7500 з windows 7)
Сарван

Працював для мене з Android 8.0 та Windows 10
andoni90

Я спробував adb kill-serverбез перезавантаження пристрою Android, і це не спрацювало. Коли я повторюю ці кроки і перезавантажую пристрій, як зазначено в розділі 4, воно спрацювало.
E235

62

Я потрапив у цю ж проблему на Nexus 7 з оновленням 4.2.2 OTA. Я майже впевнений, що після оновлення у мене було з'єднання ADB через USB та Wi-Fi, поки воно просто не перестало працювати. Щоб виправити, я оновив свій SDK, використовуючи:

android update sdk --no-ui

Тепер мої інструменти розробки:

  • SDK rev 16.0.2
  • Інструменти SDK rev 21.1
  • API SDK 17, версія 2

1
"" android "не розпізнається як внутрішня чи зовнішня команда, функціонуюча програма чи пакетний файл." - також зробив "dir android.exe / s" з кореня мого C: накопичувача - нічого не знайшли - ви використовуєте Linux або у вас є спеціальні біти, яких у нас у користувачів Windows немає?
BrainSlugs83

Так, я використовую Linux. android - це сценарій оболонки під ./sdk/tools/, який розпочинає програму java для Android SDK Manager. У тарболі Windows SDK повинен бути порівняний сценарій.
dturvene

7
дана команда може використовуватися у Windows, якщо це зроблено з вашого шляху \ до \ android-sdk \ tools \ каталог
гаджет

4
У Windows 7, щоб випустити команду з каталогу ... \ android-sdk \ tools \ та дозволити їй працювати, запустіть вікно команди "Як адміністратор".
Джон Йорсетт

Для мене це працювало з Nexus 10 та Galaxy Nexus. Я використовую Windows XP SP3. Я спробував змінити порт USB, перезапустити, etx .. нічого не допомогло, окрім цієї відповіді. Я майже збирався перевстановити xp, дякую!
Фер-

44

Я не можу наголосити, що перемикання портів USB є ключовим. Часто USB-порти на передній панелі можуть бути несправними.


5
Працював і для мене. Іноді Nexus 10 здається, що для USB-порту надто багато струму
скубо

Ого, після 1/2 години тупиків це виявляється, що це питання живлення через USB! Дякую!
bigjosh

Іноді це не бракований порт. У моєму випадку у мене підключено USB під час завантаження Windows, і він не завантажував належним чином драйвери ADB. Просто відключено та знову підключено до того ж порту. Windows дивується ...
Ricardo BRGWeb

1
Іноді комутація портів працює. Іноді справа в підтримці USB2 проти USB3 з різних портів + ​​кабель + комбінації пристроїв. Іноді допомагає перемикання з переднього на задній порт або з індикатором "SS" або без нього (USB3). Спроба іншого кабелю іноді допомагає.
Джон Адамс

8 годин витратили на мене. Він працює на USB 3.0, але не на USB 2.0 чомусь (для мене щонайменше). Ніколи цього не було, і раптом мені довелося використовувати 3.0. Що зараз витрачає один із моїх 3.0 портів.
Райан

39

Для тих, хто цікавиться питанням 4.2.2, на телефоні з'являється питання безпеки, яке вимагає підтвердження RSA з ПК. Будьте впевнені, що ваші інструменти оновлені, і ви дозволите доступ до ПК, підтвердивши питання безпеки на відповідних пристроях. Це зафіксувало це для мене.

І як завжди, переконайтеся, що ви ввімкнули налагодження в параметрах розробника;)


7
Це спрацювало для мене, коли я відкликав дозволи налагодження usb. Потім вимкнено та відновлено налагодження usb. Повідомлення "дозволити цьому комп'ютеру" спливе, і БАМ, воно показало як пристрій замість офлайн.
CrazyPenguin

21

Кілька файлів adb.exe?

Мою проблему було вирішено, коли видалено копію OLD adb.exe з C: / Windows / . Я не знаю, як копія adb.exe потрапила на C: \ Windows \?

Коли я запускаю adb.exe з android-sdk / platform-tools /, у мене не було проблем з виявленням.


Це те, що сталося зі мною. Думаю, винуватцем того, що я завантажив для встановлення ПЗУ два роки тому.
gengkev

У моїй Windows 8 була така ж проблема, і перейменування c:\windows\adb.exeна щось інше ( adb.old.exe) виправлено. Мені навіть не потрібно було перезавантажувати або відкривати / закривати командний рядок. Це просто працює. Я набрав adb devicesвідразу після перейменування старого, adb.exeа потім мій Nexus 7 запитав, чи хочу я авторизувати цей комп'ютер. Я сказав так, і тепер, коли я видаю adb devicesзамість "офлайн", він говорить "пристрій".
AlexStack

1
Дякую, ця працює! Те саме трапилося і зі мною, я думаю, що adb.exe скопіюється на C: \ Windows, коли ми встановили програмне забезпечення драйвера, яке постачається із пристроєм.
thinzar00

Як він потрапив, хоча: / Я хочу знати
Даніель Чен

1
@DanielCheung Для мене це було при встановленні програм KingORoot та / або ПК KingRoot. Я думаю, що вони встановлюють версію самі, оскільки не покладаються на те, щоб користувач встановив Android SDK. І так, видаливши стару (1.0.26) версію, яку він створює із каталогу Windows, виправлено проблему "офлайн" для мене. :)
Venryx

20

Спробуйте вимкнути налагодження usb один раз, а потім увімкніть його, а потім підключіть свій пристрій до системи: link


2
Це, безумовно, найпростіший, найнадійніший і швидкий метод. Я використовував багато варіантів усіх методів у цій темі. Це єдиний, який працює щоразу. Це лише три крани на пристрої Android, і проблеми вже немає.
Л. Д. Джеймс

18

У мене була ця проблема, і жодна з інших відповідей не допомогла. Після оновлення SDK та встановлення API для 4.2.2 було необхідне:

android update adb

Ще однією проблемою у мене було те, що я намагався підключити ADB через Wi-Fi, що є єдиним моїм варіантом, оскільки порти USB на моєму Mac справді вигадливі. На жаль, ADB через Wi-Fi не відображає питання безпеки в 4.2.2, тому вам потрібно знайти кабель USB, який буде працювати і підключатись через USB хоча б раз, щоб прийняти питання безпеки, але після того, як ви зробите це один раз , Ви можете підключитися через Wi-Fi.


Це зробило це для мене. Дякую. Я бив головою об стіну після оновлення свого Nexus 7.
Jason Southwell

Я спробував усе на цій сторінці та кілька інших сайтів, на яких Google з’явився, а мій телефон HTC під керуванням Android 4.0.3 все ще перераховувався як офлайн. Я нарешті перезапустив телефон, а потім пристрої adb сказали, що це онлайн. Людина, хотілося б, щоб я про це думав раніше.
Джон Йорсетт

Я отримав цю помилку: пристрій в автономному режимі, поки я не знайшов ваш коментар про wifi - як тільки я зняв телефон, він працював. Дякую!
amurrell

17

Якщо ваш пристрій зазвичай підключається через USB, але раптом припиняє роботу, особливо після відключення та підключення USB-кабелю, спробуйте виконати наступні неінвазивні дії, перш ніж робити деякі більш драматичні речі, згадані в інших відповідях:

adb kill-server
adb start-server
adb devices

Якщо ваш пристрій перелічено "Пристрій" поруч, ви знову в бізнесі.

Якщо біля вашого пристрою вказано "офлайн", спробуйте перезапустити пристрій. Демон ADB на пристрої час від часу зависає. Я помітив це більше, коли відключив кабель під час LogCat та після переключення назад з підключення через Wi-Fi або Ethernet.

Якщо ваш пристрій відсутній у списку, то слід спробувати рішення в інших відповідях, починаючи з іншого USB-кабелю та порту. Ці кабелі cheapo можуть погіршити.


Це допомогло вирішити мою проблему (андроїд-емулятор відображався як "офлайн", але після перезавантаження сервера, як описано, він повернувся в режим "пристрою").
Greg0ry

1
Після багатьох годин намагання знайти причину, через яку adb більше не працює, насправді це був кабель!
Мартін Л.

Мене не раз кусав поганий кабель. Погані кабелі, як правило, все-таки добре заряджають пристрій, тому я теж витратив багато часу, перш ніж спробувати різні.
scottt

Боже мій, я спробував усі рішення, але найпростіший - перезавантажити ТЕЛЕФОН - не прийшов мені в голову. Це вирішило мою проблему.
кібін

Мені довелося використовувати коротший кабель - той, який я використовую для зарядки телефону, був занадто довгим!
Рік Мортенсен

12

Обов’язково використовуйте adbу своїй platform-toolsпапці після оновлення інструментів SDK.

Нарешті я почав це працювати після того, як зрозумів, що використовую застарілу версію ADB, скопійовану в /usr/bin.


де цей usr / bin?
AntWo

8

Десь це може статися через помилку сервера adb (я думаю). Це завжди говорить

"device-name is offline" from adb devices command.

Просто вбийте сервер і почніть знову. Це працювало для мене.

"adb kill-server"
"adb start-server"

7

Я використовував adb connect <device_ip>і інші рішення не працювали, тому що моя проблема була з іншого боку. На пристрої мені потрібно було stop adbdі перезапустити його start adbd. Пристрій знову "онлайн".


1
Був Amazon Fire TV Stick, у якому ця проблема підключалася через Wi-Fi. Toggling ADB вимкнувши і знову, adb kill-server, adb start-server, тоді adb connect <device_ip>як запропоновано вище працював для мене.
chenware

6

Я побіг через ту саму проблему, яку цю проблему вирішили для мене. спочатку підключіть свій телефон через usb, а потім переконайтесь, що ви перевірте свій мобільний ip, який знаходиться в налаштуваннях >> про стан телефону >>, виконайте наступні команди.


adb kill-server
adb start-server
adb tcpip 5555 //it resets port so put port you want to connect
adb connect 192.168.1.30:5555 //ip:port of your mobile to connect
adb devices //you will be connected over wifi


adb tcpip 5555 не скидає порт, він просто встановить порт за замовчуванням для поточного пристрою і має відбутися після підключення до пристрою та наступного разу, коли ви підключитесь до пристрою через ip-адресу навіть у мережі Wi-Fi, йому не потрібен порт
Ehsan sarshar

5

Я спробував dturvene та всі інші рішення, але вони не спрацювали. Мені потрібен був ще один крок.

Виконайте ці команди

  1. adb kill-server
  2. android update sdk --no-ui
  3. adb start-server

Щоб переконатися, що він працював, запустіть 'adb-версію' до та після команд і переконайтеся, що вона є останньою. Причина adb kill-serverкоманди полягає в тому, що вона, швидше за все, працює, і вона не може бути оновлена ​​під час запуску, тому спочатку її потрібно вбити.


5

Для мене нічого не вийшло. Я витрачав близько 12 годин постійно на пошук в Інтернеті та пробував рішення, які працювали на інших людей, які мають подібні проблеми.

Зрештою, я закінчився лише тим, що робив АБД через мережу. Цей параметр був прямо біля налаштування USB Debug, і в ADB його можна активувати за допомогою "adb connect [IPADDRESS]: [PORT]". Порт був 5555 на моєму телефоні.

Я сподіваюся, що це допоможе комусь повернутися до роботи замість того, щоб мати справу з постійними недоліками.


5

Такий підхід працював для мене:

  1. adb kill-server
  2. Вимкнення автономного пристрою в Диспетчері пристроїв (див. Зображення нижче)
  3. Увімкніть пристрій у Диспетчері пристроїв
  4. adb start-server

Диспетчер пристроїв, меню "Вид", "Пристрої за допомогою з'єднання":

введіть тут опис зображення


4

Я спочатку зіткнувся з тією ж проблемою (з ADB / fastboot, завантаженим з GitHub ), але я врешті-решт змусив його працювати. Що для мене спрацювало:

  • Android SDK. Версія ADB: 1.0.31
  • Використання переднього USB-порту ( MacBook Pro 15 ")
  • Перезапуск телефону після ввімкнення параметрів Dev та налагодження USB (зробіть це 7 разів натисніть на налаштування> про телефон> збірка).
  • Вбийте сервер adb у випадку, якщо жоден пристрій не вказаний (adb kill-server)
  • Значок налагодження повинен бути видимим на телефоні.
  • Не забудьте розблокувати заблокований екран, щоб перевірити діалогове вікно підтвердження відбитків пальців RSA.

4

Встановлено найновіший Android sdk.
Змінено порт USB на пристрої.
Змінено з MTP -> Лише зарядка -> MTP.
Це спрацювало.


1
Для мене перехід від "Перенесення медіа-файлів" до "Передача зображень" (це PTP / MTP) виправив проблему (після спроб усіх інших виправлень, включаючи оновлення SDK для Android, використання різних кабелів, перезапуск ADB, циклічний режим розробника, відключення підключення / підключення USB до різних портів тощо). Прикро, ця відповідь мала 0 балів і опинилася на другій сторінці, коли я шукав відповідь, тому голосував, щоб спробувати допомогти іншим у майбутньому.
Стівен Крафт

3

Якщо ви раніше авторизували відбиток пальців RSA на вашому ПК і не намагалися пробувати adb kill-server тощо, ваша проблема може полягати лише в тому, що ви намагаєтеся підключитися до нього, поки він заблокований. Спробуйте натиснути кнопку ввімкнення екрана та ввести свій шаблон - це виправили це для мене.


3

Найкращий спосіб, який я зрозумів, - це відключити, а потім увімкнути пристрій від диспетчера пристроїв та запустити команду adb пристроїв.

  1. Перейдіть на вкладку "Пуск" і клацніть правою кнопкою миші на " Комп'ютер"
  2. У спадному меню натисніть кнопку Керувати
  3. На екрані управління комп'ютером натисніть Диспетчер пристроїв
  4. На правій панелі розгорніть портативні пристрої, щоб знайти свій пристрій
  5. Клацніть правою кнопкою миші на своєму пристрої та натисніть кнопку "Відключити" у спадному меню
  6. Коли він буде відключений, повторіть крок 5, за винятком того, щоб його ввімкнути.

Пристрій повернеться в Інтернет. Це швидше.


3

Ще одна можливість для людей з невмілими підключеннями ADB, і якщо вони перебувають на Mac та встановлено Android File Transfer : я виявив, що передача файлів заважає моєму ADB-з’єднанню, внаслідок чого воно перестало працювати.

Вбивство Android File Transfer Agent.appпроцесу, який шукає сумісні пристрої (наприклад, Nexus 7), підключений до Mac, виліковує лускатість для мене.


1
Це було причиною проблеми для мене на OS X, дякую!
adaam

3

Оскільки ніхто не дав відповіді на мою ситуацію: ви можете не мати доступу до файлу ~ / .android / adbkey. Якщо ви спочатку запускаєте adb з sudo, він генерує пару відкритих ключів, записуючи це в ~ / .android / adbkey.pub та ~ / android / adbkey. Звичайно, приватний ключ - chmod 600 - читається лише для root у вашому домашньому каталозі. Згодом запуск adb як звичайний користувач не дасть доступу до файлу приватного ключа, що, в свою чергу, мовчить з "пристроєм в автономному режимі".


3

Що вирішило для мене на Mac, було оновлення adbдо останньої версії (1.0.32). Тепер я можу знову побачити свій пристрій в Інтернеті


3

Причиною повідомлення пристрою як офлайн є те, що adb не може підключитися до нього. Adb, який виконується з середовища розробки, створює з'єднання (сокет) з контрольованим пристроєм. У пристрої є служба (демон), яка слухає це спілкування. Демон називається adbd (як у adbdaemon). Якщо ввімкнути adb на пристрої насправді, він запускає цей демон, тож з ним можна встановити комікси.

Коли adb повідомляє про пристрій як про офлайн, це тому, що демон більше не працює або знаходиться в стані, який не приймає з'єднання. Найчастіше це відбувається, якщо мережа переходить на активне (мережеве) з'єднання.

Єдиний спосіб, що я міг це виправити - це перезавантаження пристрою. Ви можете встановити статус офлайн багатьма іншими способами, але перезапуск пристрою завжди працює.


3

Коли я стикаюсь з тими ж проблемами, що і як нижче:

  1. Перезавантажте adb, видавши adb kill-сервер, а потім adb start-server у командному рядку
  2. Вимкніть та повторно увімкніть налагодження USB на телефоні
  3. Перезавантажте телефон, якщо він все ще не працює. 99% моїх проблем було вирішено цими кроками.

4. Спробуйте підключити кабель до іншого слота USB. У цьому мені допомогли.
дредкін

2

Це просто тому, що ваш комп'ютер не має потрібного драйвера. Щоб виправити це:

  1. Завантажте та витягніть Android SDK

  2. Перейдіть до Диспетчера пристроїв (клацніть правою кнопкою миші на комп'ютері -> Властивості -> Диспетчер пристроїв

  3. На правій панелі розгорніть портативні пристрої, щоб знайти свій пристрій

  4. Клацніть правою кнопкою миші назву пристрою та натисніть кнопку Оновити драйвер драйвера

  5. Ознайомтеся з драйвером на моєму комп’ютері

  6. Перейдіть до папки SDK для Android на кроці 1.

  7. Далі і все закінчено


Те саме для мене в Windows 7 та Nexus 7. Він перестав працювати, я видалив драйвер, встановив його знову і він працював
Michał K

У моєму випадку це мій драйвер контролера USB 3.0, який не працює! Не драйвер телефону!
VCD

2

Спробуйте перезапустити сервер adb наступним чином:

adb kill-server

adb start-server

Я також стикався з тими ж проблемами, що і у вас. І перезапуск сервера adb вирішить цю проблему.


2

Я оновлювався багато разів, поки не зміг більше оновити, але ніколи не отримав підказки на екрані; Я просто продовжував отримувати пристрій офлайн.

Моя проблема полягала в тому, що я запускав команду ADB з іншого каталогу до того, що фактично оновлювався.

Правильний оновлений каталог для ADE exe:

C:\Program Files (x86)\Android\android-sdk\platform-tools\

2

Перезавантажте пристрій. Я спробував усе, що перераховано тут, щоб мій телефон HTC (під керуванням Android 4.0.3) працював, але adb devicesговорив, що це не в режимі офлайн. Після того як я перезапустив телефон, він нарешті був у мережі. Деякі з інших пропозицій тут, можливо, сприяли розпізнаванню телефону, але виконання декількох перезавантажень по мірі їх випробування, безумовно, не зашкодить.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.