версія сервера adb не відповідає цьому клієнту


151

Кожен раз, коли я намагаюся запустити adb devices:

            $ adb devices
            * daemon not running. starting it now *
            * daemon started successfully *
            List of devices attached
            HT0ANRV05740    device

Він говорить, що демон не працює і перезапускає демон.

Потім, якщо я знову запускаю пристрої adb, це робить те саме -

            $ adb devices
            adb server is out of date.  killing...
            * daemon started successfully *
            List of devices attached
            HT0ANRV05740    device

Потім, якщо я запускаю його знову, він знову робить саме те саме -

            $ adb devices
            adb server is out of date.  killing...
            * daemon started successfully *
            List of devices attached
            HT0ANRV05740    device

Будь ласка, допоможіть!!

Крім того, мій DDMS постійно надсилає мені таке повідомлення -

[2011-02-23 16:17:05 - DeviceMonitor]Adb connection Error:An existing connection was forcibly closed by the remote host

Ось журнали безпосередньо перед перезавантаженням adb -

              1291        locapi_rpc_glue  V  loc_ioctl
              1291                    RPC  D  written RPC packet size: [480]
              1291                    RPC  D  read RPC packet
              1291                    RPC  D  read RPC packet size: [28]
              1291             lib_locapi  V  qct_loc_eng_inject_xtra_data, inject part = 100, len = 167, len = 167
              1291             lib_locapi  V  qct_loc_eng_inject_xtra_data, total part = 100, len = 167
              1291        locapi_rpc_glue  V  loc_ioctl
              1291                    RPC  D  written RPC packet size: [248]
              1291                    RPC  D  read RPC packet
              1291                    RPC  D  read RPC packet size: [28]
              1291             lib_locapi  D  qct_loc_eng_inject_xtra_data: injected 39767, SUCCESS
              1291             lib_locapi  V  inject_xtra_waiting = flase
              1291    GpsLocationProvider  D  Releasing wakelock
              1291            WifiService  D  releaseWifiLockLocked: WifiLock{NetworkLocationProvider type=2 binder=android.os.Binder@47aead50}
              1291            WifiService  D  enable and start wifi due to updateWifiState
              1218            rmt_storage  I  rmt_storage open event
              1218            rmt_storage  I  rmt_storage client thread started
              1218            rmt_storage  I  rmt_storage events processing done
              1218            rmt_storage  I  rmt_storage register cb event
              1218            rmt_storage  I  rmt_storage status id = 2
              1218            rmt_storage  I  rmt_storage events processing done
              1218            rmt_storage  I  rmt_storage open event
              1218            rmt_storage  I  rmt_storage client thread started
              1218            rmt_storage  I  rmt_storage events processing done
              1218            rmt_storage  I  rmt_storage register cb event
              1218            rmt_storage  I  rmt_storage status id = 2
              1218            rmt_storage  I  rmt_storage events processing done
              1218            rmt_storage  I  rmt_storage write event
              1218            rmt_storage  I  unblock rmt_storage client thread
              1218            rmt_storage  I  rmt_storage events processing done
              1218            rmt_storage  I  rmt_storage write: bytes written = 3145216
              1218            rmt_storage  I  rmt_storage write: bytes written = 512
              1218            rmt_storage  I  rmt_storage status handle = 1
              1291       BatteryStatsImpl  I  notePhoneSignalStrengthLocked: 4->3
              1218            rmt_storage  I  rmt_storage write event
              1218            rmt_storage  I  rmt_storage events processing done
              1218            rmt_storage  I  unblock rmt_storage client thread
              1291    PowerManagerService  D  New lightsensor value:40, lcdValue:143
              1291    PowerManagerService  D  lightSensorChangedLocked, buttonValue >= 0, mPowerState = 3
              1218            rmt_storage  I  rmt_storage write: bytes written = 3145216
              1218            rmt_storage  I  rmt_storage write: bytes written = 512
              1218            rmt_storage  I  rmt_storage status handle = 2
              1291                    RPC  D  read RPC packet
              1291                    RPC  D  read RPC packet size: [80]
              1291        locapi_rpc_glue  V  Callback received: 80 (cb_id=0x50B0000 handle=1)
              1291                    RPC  D  written RPC packet size: [28]
              1470   usicWidgetController  D  unbindMusicPlaybackService()
              1707   MediaPlaybackService  E  BadQueue mPlayListLen : 0 mAlbumListLen : 0 mShrinkAlbumListLen : 0
              1291    NotificationService  V  Battery Full, Charging
              1291                 lights  E  write ok string=0,len=1
              1291                 lights  E  write ok string=0,len=1
              1291                 lights  E  write ok string=0 0,len=3
              1291                 lights  E  write ok string=1,len=1
              1707       MediaPlayer.java  D  setOnCompletionListener being cleaned to null
              1291                 lights  E  write ok string=0,len=1
              1291                 lights  E  write ok string=0 0,len=3
              1291    NotificationService  V  Turn off Jogball/OJ LED
              1291    NotificationService  D  cancelNotification, ACTION_NOTIFICATION_REMOVE,pkg=com.htc.music,id=1
              1291           AudioService  I   AudioFocus  abandonAudioFocus() from android.media.AudioManager@476ddee0com.htc.music.MediaPlaybackService$5@476dd838

Для мене допоміг вийти з настільного додатка Helium, який має власну версію adb. :)
Велда

У моєму випадку це був Genymotion, є конфігурація для використання власної версії або ви можете встановити свою.
Крісфель


У AOSP я перейменував aosp/out/host/darwin-x86/bin/adbв adb-aospтому , що aliasingзверху , що на мій місцевий (з AOSP) версії не працює.
Пашаліс

Відповіді:


299

Ви використовуєте Genymotion для віртуального пристрою?

якщо так, ця помилка, ймовірно, виникла через те, що ADB від Genymotion суперечить вашому ADB від Android SDK (використовуючи той самий номер порту), щоб виправити це, просто перейдіть до settings=> select ADBtab => натисніть на опцію Use custom Android SDK Toolsта встановіть папку SDK.

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

після цього налаштуйте спробу перезапустити adb, перейшовши в папку, в platform-toolsякій adbрозміщено, і виконайте цю команду:

  • ./adb kill-server
  • ./adb start-server

* поради: Ви можете закрити процес Genymotion перед запуском команди вище

Сподіваюся, що це допоможе.


Дякую, Адітя !!! нарешті гідна відповідь. Він розпочався після оновлення андроїд-студії. Я зійшов з розуму з цим, перевстановив sdk і все. Я подумав, що це помилка в новій версії.
TacoEater

1
Тільки це допомогло! Існує крихітний інструмент під назвою "adbfix", який дав мені підказку, що це може бути проблема, пов’язана із шляхом, але насправді нічого не вирішило.
icarus74

Потрібно любити Genymotion, оскільки емулятори акцій споживають занадто багато ресурсів, оскільки вони постійно нагрівають мій ноутбук, який працює на Ubuntu.
thethakuri

1
У мене в моїй системі не встановлено генімоцію . Як це виправити?
arka.b

7
Будь-який емулятор генімоції повинен бути закритий перед запуском команд вище.
Роберт

63

Я видалив Dell PC Suite і HTC Sync зі свого комп’ютера, і ця проблема пішла.

EDIT: Щоб детальніше пояснити причину цієї проблеми: синхронізація HTC поставляється із власним сервером ADB. І він оновлює вашу змінну середовища PATH, щоб вказати на її версію сервера. Відредагуйте змінну PATH та видаліть посилання на каталоги HTC Sync. Тепер ви знову використовуєте ADB Google.


1
Ця проблема в моєму пристрої Apple Mac OS-x.
Ritesh Kumar Singh

4
Проблема була HTC Sync. Він постійно працює у фоновому режимі, викликаючи конфлікти з adb.exe
rharvey

LG AirBridge спричинив проблему для мене - видалення цього, а потім запуск adb start-serverпрацював.
jamsandwich

1
Як розробник мені потрібні USB-драйвери HTC, які постачаються в комплекті з менеджером синхронізації HTC. Це єдиний випадок для Windows 10 - ОС, яку я використовую. Після установки HTC Sync буде працювати і постійно працювати у фоновому режимі. Ви хочете відкрити Диспетчер завдань> Служби та вимкнути фонове завдання HTCMonitorService. Це запобіжить конфлікт HTC Sync з Google ADB, а також запобіжить блокуванню ADB Google, коли пристрої HTC підключені до ПК.
tom_mai78101

28

Я вважаю, що мені періодично потрібно явно вбити і перезапустити сервер вручну:

adb kill-server
adb start-server

Цього шоку, як правило, достатньо, щоб він знову став на ноги, і запобігає повторним adb server is out of date. killing...повідомленням.


Вбивство та перезапуск, здається, спрацювали для мене; однак тепер я отримую повідомлення про помилку "помилка: більше одного пристрою та емулятора", коли я роблю: "adb tcpip 5555" згідно з інструкціями прийнятої відповіді.
jay_t55

У моєму випадку є кілька процесів запуску adb, тому я роблю кілька дзвінків, adb kill-serverпоки не буде сказано "демон не працює ..."
mr5

22

Переконайтесь, що немає інших запущених процесів adb

У системі може бути запущено більше одного adb-процесу. Такі інструменти, як Android Reverse Tether, можуть використовувати власну версію інструменту adb, отже, версія в пам'яті може суперечити версії, запущеній з командного рядка (через змінну шляху).

Windows

У Windows натисніть CTL+ Shift+, ESCщоб отримати доступ до диспетчера завдань, відсортуйте в стовпці Ім'я зображення , а потім вбийте всі екземпляри adb.exe, клацнувши правою кнопкою миші, і виберіть Завершити процес . Зауважте, що adb.exeнижче є кілька примірників :

Кілька випадків adb.exe - як вбити

Linux (Android)

У середовищі Linux просто використовуйте kill -9команду. Щось подібне працювало на пристрої Android під керуванням adb(використовуйте psвихід, шукайте, використовуючи grepпроцес, починаючи з цього adb, отримуйте ідентифікатор процесу з adbпроцесів) та надсилайте цей ідентифікатор kill -9команді):

kill -9  $(ps  | grep "S adb" | busybox awk '{print $2}')

Потім перезапустіть adb

Як тільки adbпроцеси - і, таким чином, конфлікти - будуть вирішені, повторіть запуск adbіз командного рядка:

adb start-server

У моєму випадку я з’ясував, що інший екземпляр adb працює як частина GapDebug. Зупинка GapDebug, знищення запущеного процесу adb та виклик ./adb start-server у ~ / Бібліотека / Android / sdk // платформа-інструменти вирішили це.
Gwened

20

У моїй машині (Ubuntu 14.04 та Genymotion 2.5.2) джерелом проблеми було те, що у мене було 2 adb-файли різних версій.

(Перед тим, як звузити це джерело проблеми, у мене вже були "Налаштування" Genymotion> "Використовувати спеціальні інструменти SDK для Android", посилаючись на встановлений на моєму пристрої каталог SDK Android, як радив Aditya Kresna Permana. Я також намагався вбити та запустити сервер adb та ще декілька інших рішення з усієї мережі).

Потім побачив, що працює adb versionз мого каталогу встановлення Android SDK "~ / Android / Sdk / platform-tools", створеного - "Мост налагодження Android версії 1.0.32"

Але adb versionстворена команда з каталогу "/ usr / bin" - "Bridge Debug Bridge версії 1.0.31"

Тож щойно слідувало - http://bernaerts.dyndns.org/linux/74-ubuntu/328-ubuntu-trusty-android-adb-fastboot-qtadb для оновлення adb у “/ usr / bin”

# adb version
Android Debug Bridge version 1.0.31
# wget -O - https://skia.googlesource.com/skia/+archive/cd048d18e0b81338c1a04b9749a00444597df394/platform_tools/android/bin/linux.tar.gz | tar -zxvf - adb
# sudo mv adb /usr/bin/adb
# sudo chmod +x /usr/bin/adb
# adb version
Android Debug Bridge version 1.0.32

А зараз біг adb devicesпрацює ідеально, як очікувалося.

І це також вирішило пов'язану з цим проблему, що до того, як мій додаток PhoneGap (Кордова) не інтегрувався з віртуальним пристроєм Genymotion. Очевидно, що і ця проблема вирішена.


Дуже дякую. Економив мій час. Цей ідеально працює на ubuntu 14.04. Хочете дізнатися, як ви отримали URL-адрес wget adb? @Rohan_Paul
Акбар Ша Ебрагім

я отримую це зараз: bash: / usr / bin / adb: Немає такого файлу чи каталогу
Tushar Saha

17

Це пов’язано з тим, що у вас запущено рекламний номер, відмінний від включеного в SDK. Якщо в Linux перевірити, де знаходиться бінарний файл adb

which adb
Expected Output : ANDROID_SDK/platform-tools/adb

Якщо ви не вказуєте на ANDROID_SDK / platform-tools / adb, ви запускаєте стару версію adb, встановлену в іншому місці на машині.

Нічого неправильного в роботі adb, окрім тієї, що надається SDK, але недоліком є ​​те, що він не оновлюється автоматично при оновленні SDK для Android, і саме тому ви стикаєтесь із цією застарілою версією версії.

Простіше виправити та уникнути цієї проблеми в майбутньому перейменуйте старий (оманливий) бінарний файл adb у щось інше.

Виконайте кроки, щоб вирішити цю проблему.

$ which adb
*o/p /usr/bin/adb  -   (output will depend on your machine)*
$ cd /usr/bin/
$ ls -lt | grep adb
*o/p -rwxr-xr-x 1 root   root      160912 Mar 31  2016 adb*
$ sudo mv adb adb_bakup
$ ls -lt | grep adb
o/p -rwxr-xr-x 1 root   root      160912 Mar 31  2016 adb_bakup
$ export PATH="/path/to/android_sdk/platform-tools:$PATH"
$ which adb  
*o/p <your android sdk dir>/platform-tools/adb*   ---> You are all good now

Я спробував це на своєму Mac, він просто підкаже мені, що я не маю дозволу змінювати ім’я?
Джей Смок

Вам потрібно мати права адміністратора, щоб змінити будь-яке ім’я dir під / usr.
Ах

Я увійшов як root, і все одно не зміг його змінити.
Джей Смок

чудове рішення, у мене було adb symlink до ../ Підвал / ..., тож навіть якщо останню версію adb було завантажено за допомогою диспетчера sdk, встановивши хороший шлях, що
вирішує

15

Щойно я вийшов із програми HTC Sync, спробував знову, і вона спрацювала. Примітка: Телефон став чорним (заблокований), я просто увімкнув його, і там працює моя програма. :)


У мене була така ж проблема із ZTE Sync, я її видалив, і мої пристрої відображалися.
ovejaexiste

11

Система: Windows 10

Моя проблема : Налаштування Genymotion для вказівки на користувацький SDK не вплинуло. Я все ще отримав:

Не вдалося запустити проект на Android: не вдалося встановити слухач smartsocket : не можна прив’язати до 127.0.0.1:5037: Зазвичай дозволено лише одне використання кожної адреси сокета (протокол / адреса мережі / порт) (10048) не вдалося прочитати нормально з сервера ADB * не вдалося запустити демон * помилка: не вдається підключитися до демона

Що я виявив - це була різниця у версіях ADB, які використовуються у всій системі. Ось команда, яку я використовував для їх пошуку:

where /r C:\ adb.exe

Це дало результати:

C:\Program Files\Expo XDE\resources\app\node_modules\xdl\binaries\windows\adb\adb.exe
C:\Program Files\Genymobile\Genymotion\tools\adb.exe
C:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe
C:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb backup\adb.exe

Навігація до кожного каталогу та виконання:

adb.exe version

Дозволено мені побачити, що на Expo працює версія ADB:

Android Debug Bridge version 1.0.36
Revision fd9e4d07b0f5-android

У той час як Genymotion за допомогою спеціального SDK мав версію (c: \ Users \ kyle \ AppData \ Local \ Android \ Sdk \ platform-tools \ adb.exe):

Android Debug Bridge version 1.0.39
Revision 3db08f2c6889-android

Як тест я взяв файли adb (adb.exe, AdbWinApi.dll, AdbWinUsbApi.dll) з

c:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe

і помістив їх у резервну папку. Потім я перемістив файли adb, розташовані на

c:\Program Files\Expo XDE\resources\app\node_modules\xdl\binaries\windows\adb\adb.exe

в те саме місце. Я вбив adb за допомогою:

adb kill-server

що автоматично викликало перезапуск сервера adb через те, що мій пристрій Genymotion вже працює. Я натиснув кнопку "Перезапустити" всередині Expo XDE, і вона негайно почала працювати. Ось журнал, де я натискаю кнопку перезавантаження в 1:13:04:

12:45:53 AM
could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037: Only one usage of each socket address (protocol/network address/port) is normally permitted. (10048)
could not read ok from ADB Server
* failed to start daemon *
error: cannot connect to daemon
1:13:04 AM
Restarting project and clearing packager cache (Hold shift while clicking restart to avoid clearing cache).
1:13:11 AM
Starting React Native packager...
1:13:17 AM
Scanning 543 folders for symlinks in C:\Users\kyle\git\betalog\node_modules (49ms)
1:13:17 AM
1:13:19 AM
Couldn't adb reverse: closed
1:13:20 AM
Project opened! You can now use the "Share" or "Device" buttons to view your project.
1:13:26 AM
Couldn't adb reverse: closed
1:13:26 AM
Downloading latest version of Expo
1:13:28 AM
Installing Expo on device
1:13:33 AM
Opening on Android device
1:13:56 AM
Building JavaScript bundle: finished in 59643ms.
1:14:01 AM
Dependency graph loaded.
1:14:03 AM
Your JavaScript transform cache is empty, rebuilding (this may take a minute).

Висновок : Можливо, Genymotion та Expo можуть використовувати однакову версію adb, щоб Expo міг належним чином спілкуватися з імітованим пристроєм. Вказівка ​​Genymotion на місце розташування SDK для Android, а також забезпечення того, що Expo XDE має таку саму версію, що дозволить коректно спілкуватися між пристроями. Я перемістив версію Expo XDE до місця SDK, але ви, можливо, зможете піти іншим способом (візьміть файли ADB sdk і розмістіть їх у місці ресурсу Expo XDE).

PS Я постійно переглядав публікації stackoverflow, пов'язані з цією проблемою. Так що ви, хлопці, знаєте, що мій менеджер із завдань показує три екземпляри запуску adb.exe. Якщо ви вб'єте когось із них, вони просто повернуться.

Сподіваюсь, це допомагає / ура


1
Це вирішило мою першу проблему через кілька годин (спасибі товариш). Наступною проблемою було те, що емульований пристрій не було дозволено (adb пристрої), що потребувало меншого часу для вирішення.
Джонатан

8

Здається, демон ADB на пристрої (adbd) не згоден з процесом ADB-сервера на вашому хост-комп'ютері щодо того, про яку версію протоколу вони говорять. Яку версію SDK ви використовуєте та яка версія ОС на пристрої, на якому ви налагоджуєте?

Що вам може знадобитися зробити, це фактично зменшити версію інструментів SDK, щоб демон і процес ADB узгоджувалися. Я вважав, що серверний процес є повністю сумісним назад, але це може бути один із тих кутових випадків, коли цього немає. Google не рекламує той факт, що ви можете отримати їхні старі пакети інструментів SDK, але їх можна знайти, відвідавши область архівів на веб- сайті http://developer.android.com .


1
До якої версії ви б порекомендували перейти назад?
Арунаб Дас

Який пристрій ви використовуєте та яка версія ОС працює на ньому? Я по-справжньому не вважаю, що це повинно бути необхідним для зниження рівня, тому що це взагалі не потрібно, але, як я вже говорив, це може бути кутовим випадком. SDK r10 був щойно випущений цього тижня, а r9 лише місяць тому. Якщо проблема була представлена ​​нещодавно, r7 має забезпечити стабільну основу, яка починається минулого літа. Ви можете знайти ці більш ранні версії на веб-сайті developer.android.com/sdk/tools-notes.html . Удачі
Ерік Клонінгер

Версія ОС на пристрої = 2.2 та SDK = 10
Arunabh Das

Це не версія розбіжність adbdі adb serverа між adb serverі adb client(як працює на ПК)
Alex P.

7

Швидкий спосіб зробити це спочатку

sudo rm /usr/bin/adb

Тоді

sudo ln -s /home/{{username}}/Android/Sdk/platform-tools/adb  /usr/bin/adb

Найшвидший спосіб виправити проблему


7
Не можу повірити, у мене було те саме питання, і я знову прийшов отримати відповідь від себе
Ian Samz

Це справді найшвидший спосіб !! Дякую!
Аббас

5

Я просто повністю закрив додаток для синхронізації htc та повторив спробу. Це спрацювало так, як треба було.


5

Я бив головою об стіну на цьому. Це почалося, коли я встановив останню версію синхронізації HTC (3.0.5579). Чомусь adb.exe кілька разів відображався в диспетчері завдань, і я отримував сервер adb неодноразово застарілий. Я знайшов версію adb.exe в каталозі синхронізації HTC та в каталозі інструментів платформи Android SDK. Я налаштував шлях правильно, вказуючи на каталог SDK для android і не побачив шлях синхронізації HTC (можливо, мені щось не вистачало, але я не думаю, що так). У будь-якому випадку, щоб виправити проблему, я просто перейменував файл adb.exe у каталог HTC Sync і все працювало заново. Це може бути не правильним способом вирішити цю проблему, але це працювало для мене.


5

Допомогли мені: зупиніть синхронізацію HTC (у системному треї) та перейменуйте adb.exe HTC (C: \ Program Files (x86) \ HTC \ HTC Sync 3.0 \ adb.exe).


5

Система: Windows 7, Android Studio.

Ця помилка сталася, коли я перебігав adb devicesіз командного рядка Windows.

Першопричиною було те, що adb, який я запускав із командного рядка, був не тим самим adb, який працює у Android Studio.

Рішення:

  1. Спочатку вбийте всі запущені процеси adb на машині.

    taskkill /F /IM adb.exe

  2. Запустіть додаток із Android Studio.

  3. Знайдіть точне розташування файлу adb.exe або в Менеджері завдань Windows, АБО, запустивши команду нижче

    wmic process where "name='adb.exe'" get ProcessID, ExecutablePath

  4. У командному рядку Windows запустіть, where adbщоб знайти adb, який працює з командного рядка. Цей шлях буде відрізнятися від того, який описано на етапі 3 вище.

  5. Редагування системної змінної Windows PATH. Видаліть із нього базовий шлях, знайдений на кроці 4.

  6. Після того як ви відредагували PATH, ви можете побачити поточний вміст цієї змінної, ввівши команду нижче в командному рядку НОВОГО (не використовуйте старий рядок.)

    echo %PATH%

Тепер запустіть adb з командного рядка. Він НЕ повинен показувати жодну "помилку застарілого сервера"!


5

У мене виникла аналогічна проблема, коли мої спроби використовувати adbтакі, як adb logcatцей вихід помилки:

adb server version (40) doesn't match this client (36); killing...

Це рішення працювало для мене в 2018 році на Ubuntu 18.04 від Android Studio 3.2.1 за допомогою терміналу.

Команди наступні:

adb kill-server sudo cp ~/Android/Sdk/platform-tools/adb /usr/bin/adb sudo chmod +x /usr/bin/adb adb start-server

Можливо, вам доведеться відрегулювати cpаргументи команд на основі шляху до Android/вашої системи.

Кудо 2-го покоління до мого джерела: https://stackoverflow.com/a/40991118/7015599


1
Я зміг зробити щось подібне, не замінивши / usr / bin / adb. Я встановлюю псевдонім у bash_aliases -> alias adb = '~ / Android / Sdk / platform-tools / adb'. Джерело .bashrc і добре поїхати.
Джеймс

4

Спробуйте це:

  1. Закрийте програму Eclipse.

  2. adb kill-server

  3. Перезапустіть затемнення.


4

Спочатку закрийте всі речі, які використовують ADB. (Android Studio, Eclipse, Emulator (також Bluestack)), а потім зробіть

adb kill-server
adb start-server

У моєму випадку я щойно отримав оновлення Studio.


2

Гаразд, є ще один екземпляр adb.exe, який поширюється з "Lenovo Photo Companion". У мого друга є ноутбук йоги Lenovo, і в ньому було встановлено це програмне забезпечення, яке включало ще один adb.exe

Видалення його вирішило проблему.


2

ОС: Ubuntu

Є більше 1 adb працює. Перевірте поточний adb:

    which adb
    Expected Output : ANDROID_SDK/platform-tools/adb

Зазвичай результат буде таким:

    /usr/bin/adb

Видаліть цю старішу версію:

    cd /urs/bin
    sudo rm adb

1

Ви спробували використати SDK версії 8. Оскільки пристрій перебуває у версії 2.2, а у SDK - 10, може виникнути конфлікт.

Найкраща удача з ур пониженням зусиль !! Сподіваюся, це вирішує.


1

Якщо пристрій, з яким ви намагаєтеся взаємодіяти, це фізичний телефон, підключений через USB, ви можете відключити його від мережі та підключити назад, і він повинен працювати. Іноді це просто виходить із синхронізації, я думаю.


1

У мене виникла ця проблема на одній із моїх розробних машин (усі запускають Windows 7 x64), а adb всіх інших машин працює нормально. Причиною, з якою я зіткнувся з цією проблемою, є те, що у мене є стара версія adb.exe, яка перебуває у % android-sdk% \ tools, тоді як новіші SDK для Android мають adb.exe під % android-sdk% \ platform-tools

видаліть старий adb.exe з інструментів% android-sdk% \ та додайте% android-sdk% \ platform-tools до% PATH% вирішує цю проблему

або, загалом, скачуйте будь-який виконуваний adb на своєму шляху, який застарів, просто використовуйте найновіший, наданий Android SDK


1

Я пройшов усі відповіді на ТА, і це не спрацювало для мене. Коли я вбив процес adb.exe від диспетчера завдань, він продовжував його відкривати, і причина в тому, що Droid Explorer працював у фоновому режимі .

Убивання процесу DE через диспетчер завдань, а потім вбивство adb.exe (і запуск його знову з консолі через 'adb start-server' працював на мене.

Це може бути корисно багатьом людям, які вкоренили свої пристрої .


Це було рішенням для мене. Переконайтеся в тому, що End process treeв Диспетчері завдань для служби Droid Explorer.
Джейсон

1

На жаль, у мене ще недостатньо репутації для коментарів. Але відповідь, позначена як відповідь, направила мене в правильному напрямку.

Я нічого не бачив на своєму шляху, пов’язаному з HTC Sync Manager, хоч у мене це було встановлено. Наразі я не працюю зі своїм пристроєм HTC, і мені було встановлено лише менеджер синхронізації для вирішення проблем із драйверами. Після видалення менеджера синхронізації HTC ця проблема пішла для мене.

Сподіваюсь, це допомагає комусь іншому.



1

У моєму випадку це було спричинено запуском Visual Studio з проектом Android Xamarin на тій же машині, що і Android Studio - у кожної IDE працювала інша версія сервера adb. Я закрив Visual Studio і помилка пішла.


0

Як було сказано вище, проблема виникає через конфліктну версію adb.exe, що постачається разом із HTC Sync. Видалення його з PATH не допоможе, оскільки htcUPCTLoader.exe, який постійно працює у фоновому режимі, все одно повторно запустить неправильну версію ADB.

Одним з рішень було б повністю видалити adb.exe з папки HTC Sync, однак це порушить синхронізацію HTC.

Щойно я зашифрував простий інструмент, який замінює старий adb.exe заглушкою, яка викликає останню версію adb.exe з каталогу SDK, усуваючи конфлікти (наприклад, версія 1.0.25, що надходить із HTC Sync та 1.0.29 з Android SDK) .

Інструмент ADB Fixer

Інструмент можна завантажити з http://visualgdb.com/adbfix


0

У мене також була ця проблема сьогодні, виявляється, я відключив свої мережеві драйвери, оскільки у мене були проблеми з WIFI / LAN. повторне включення вирішило проблему


0

встановлення встановлених для мене оновлень sdk (включаючи інструменти платформи)!


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