phiên bản máy chủ adb không phù hợp với khách hàng này


151

Bất cứ khi nào tôi cố gắng chạy adb devices:

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

Nó nói daemon không chạy và khởi động lại daemon.

Sau đó, nếu tôi chạy lại thiết bị adb, nó cũng làm điều tương tự -

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

Sau đó, nếu tôi chạy lại, nó lại thực hiện chính xác điều tương tự -

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

Xin vui lòng giúp đỡ!!

Ngoài ra, DDMS của tôi tiếp tục gửi cho tôi thông báo sau -

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

Dưới đây là nhật ký từ ngay trước khi adb khởi động lại -

              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

Đối với tôi, đã giúp thoát khỏi ứng dụng máy tính để bàn Helium, có phiên bản adb riêng. :)
Velda

Trong trường hợp của tôi, đó là Genymotion, có một cấu hình để sử dụng phiên bản của riêng họ hoặc bạn có thể đặt phiên bản của riêng mình.
Crysfel


Trong AOSP tôi đổi tên aosp/out/host/darwin-x86/bin/adbđể adb-aospaliasingtrên đó để địa phương của tôi (trong số AOSP) phiên bản đã không được làm việc.
Paschalis

Câu trả lời:


299

Bạn đang sử dụng Genymotion cho một thiết bị ảo?

nếu có, lỗi này có thể xuất hiện do ADB từ Genymotion đã xung đột với ADB của bạn từ SDK Android (sử dụng cùng số cổng), để khắc phục lỗi này chỉ cần truy cập settings=> select ADBtab => nhấp vào tùy chọn Use custom Android SDK Toolsvà đặt thư mục SDK của bạn

nhập mô tả hình ảnh ở đây

sau khi bạn cấu hình này, hãy thử khởi động lại adb của bạn bằng cách vào thư mục platform-toolsđó adbđặt và làm lệnh này:

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

* mẹo: Bạn có thể đóng quá trình Genymotion trước khi chạy lệnh trên

Hy vọng điều này giúp đỡ.


Cảm ơn bạn Aditya !!! cuối cùng là một câu trả lời đàng hoàng. Nó bắt đầu sau khi cập nhật studio android. Tôi phát điên với cái này, cài đặt lại sdk và mọi thứ. Tôi nghĩ rằng đó là một lỗi trong phiên bản mới.
TacoEater

1
Chỉ điều này đã giúp! Có một công cụ nhỏ tên là 'adbfix', cho tôi gợi ý rằng đây có thể là một vấn đề liên quan đến đường dẫn, nhưng thực sự không làm gì để khắc phục vấn đề.
icarus74

Gotta yêu Genymotion vì các trình giả lập chứng khoán tiêu tốn quá nhiều tài nguyên khi chúng liên tục làm nóng máy tính xách tay beatup của tôi chạy trên Ubuntu.
thethakuri

1
Tôi không cài đặt genymotion trong hệ thống của mình. Làm thế nào để tôi sửa lỗi này?
arka.b

7
Bất kỳ trình giả lập genymotion phải được đóng trước khi chạy các lệnh ở trên.
Robert

63

Tôi đã gỡ cài đặt Dell PC Suite và HTC Sync khỏi máy tính của mình và vấn đề này đã biến mất.

EDIT: Để giải thích một chút về nguyên nhân của vấn đề này: Đồng bộ hóa HTC đi kèm với một máy chủ ADB của riêng nó. Và nó cập nhật biến môi trường PATH của bạn để trỏ đến phiên bản máy chủ của nó. Chỉnh sửa biến PATH và xóa tham chiếu đến các thư mục HTC Sync. Bây giờ bạn đang sử dụng ADB của Google một lần nữa.


1
Vấn đề này là trong thiết bị apple os os x của tôi.
Ritesh Kumar Singh

4
HTC Sync là vấn đề. Nó liên tục chạy trong nền, gây ra xung đột với adb.exe
rharvey

LG AirBridge gây ra sự cố cho tôi - gỡ cài đặt và sau đó chạy adb start-serverhoạt động.
jamsandwich

1
Là nhà phát triển, tôi cần trình điều khiển USB HTC đi kèm với Trình quản lý đồng bộ HTC. Đây là trường hợp duy nhất cho Windows 10, đây là HĐH tôi đang sử dụng. Sau khi cài đặt, HTC Sync sẽ chạy và liên tục chạy trong nền. Bạn muốn mở Trình quản lý tác vụ> tab Dịch vụ, sau đó tắt tác vụ nền HTCMonitorService. Điều này sẽ ngăn HTC Sync xung đột với Google ADB và cũng sẽ ngăn Google ADB khóa khi các thiết bị HTC được kết nối với PC.
tom_mai78101

28

Tôi thấy thỉnh thoảng tôi cần phải giết và khởi động lại máy chủ một cách rõ ràng:

adb kill-server
adb start-server

Cú sốc này nói chung là đủ để đưa nó trở lại trên đôi chân của mình một lần nữa và ngăn chặn adb server is out of date. killing...các tin nhắn lặp đi lặp lại .


Giết chóc và khởi động lại dường như đã làm việc cho tôi; tuy nhiên hiện tại tôi nhận được thông báo lỗi "lỗi: nhiều hơn một thiết bị và trình giả lập" khi tôi thực hiện: "adb tcpip 5555" theo hướng dẫn của câu trả lời được chấp nhận.
jay_t55

Trong trường hợp của tôi, có nhiều quá trình adb đang chạy nên tôi thực hiện nhiều cuộc gọi cho adb kill-serverđến khi nó báo "daemon không chạy ..."
mr5

22

Đảm bảo rằng không có quá trình adb nào khác đang chạy

Có thể có nhiều hơn một quá trình adb đang chạy trên hệ thống. Các công cụ như Android Reverse Tether có thể sử dụng phiên bản công cụ adb của riêng họ, do đó phiên bản trong bộ nhớ có thể xung đột với phiên bản chạy từ dòng lệnh (thông qua biến đường dẫn).

các cửa sổ

Trong Windows, nhấn CTL+ Shift+ ESCđể truy cập Trình quản lý tác vụ, sắp xếp trong cột Tên hình ảnh , sau đó loại bỏ tất cả các trường hợp adb.exebằng cách nhấp chuột phải và chọn Kết thúc quá trình . Lưu ý rằng có nhiều trường hợp adb.exedưới đây:

Nhiều trường hợp adb.exe - cách giết

Linux (Android)

Trong môi trường Linux, chỉ cần sử dụng kill -9lệnh. Một cái gì đó như thế này hoạt động trên một thiết bị Android đang chạy adb(sử dụng psđầu ra, tìm kiếm bằng cách sử dụng grepquy trình bắt đầu bằng adb, lấy ID tiến trình từ adb(các) quy trình và gửi ID đó đến kill -9lệnh):

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

Sau đó, khởi động lại adb

Khi các adbquy trình - và do đó xung đột - được giải quyết, sau đó thử lại chạy adbtừ dòng lệnh:

adb start-server

Trong trường hợp của tôi, tôi phát hiện ra rằng một phiên bản khác của adb đang chạy như một phần của GapDebug. Dừng GapDebug, giết tiến trình adb đang chạy và gọi ./adb start-server trong ~ / Library / Android / sdk // platform-tools đã giải quyết nó.
Gwened 7/2/2016

20

Trong máy của tôi (Ubuntu 14.04 và Genymotion 2.5.2), nguồn gốc của vấn đề là, tôi có 2 tệp adb của các phiên bản khác nhau.

(Trước đây, thu hẹp nguồn vấn đề này, tôi đã có Cài đặt của Genymotion> "Sử dụng các công cụ SDK Android tùy chỉnh" đề cập đến thư mục SDK Android đã cài đặt của máy tôi theo lời khuyên của Aditya Kresna Permana. Tôi cũng đã thử giết và khởi động máy chủ adb và một vài thứ khác giải pháp từ khắp nơi trên web).

Sau đó, thấy rằng, chạy adb versiontừ thư mục cài đặt SDK Android của tôi là ~ ~ Android / Sdk / công cụ nền tảng được sản xuất - "Android Debug Bridge phiên bản 1.0.32"

Nhưng, adb versionlệnh từ thư mục của Trò chơi / usr / bin Bí được sản xuất- Cầu gỡ lỗi Android phiên bản 1.0.31 "

Vì vậy, chỉ cần làm theo - http://bernaerts.dyndns.org/linux/74-ubfox/328-ubfox-trusty-android-adb-fastboot-qtadb để cập nhật adb trong Trò chơi / 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

Và bây giờ chạy adb deviceshoạt động hoàn hảo như mong đợi.

Và nó cũng giải quyết được vấn đề liên quan rằng, trước khi ứng dụng PhoneGap (Cordova) của tôi không được tích hợp với thiết bị ảo của Genymotion. Bây giờ rõ ràng vấn đề đó cũng được giải quyết.


Cảm ơn bạn rất nhiều. Tiết kiệm thời gian của tôi. Điều này hoạt động hoàn toàn tốt trên Ubuntu 14.04. Bạn có muốn biết làm thế nào bạn có được url wget của adb không? @Rohan_Paul
Akbar Sha Ebrahim

Tôi đang nhận được điều này ngay bây giờ: bash: / usr / bin / adb: Không có tệp hoặc thư mục như vậy
Tushar Saha

17

Điều này được gây ra bởi vì bạn đang chạy một adb khác với cái được bao gồm trong SDK. Nếu trên linux kiểm tra vị trí nhị phân adb nằm ở đâu

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

Nếu không trỏ đến ANDROID_SDK / platform-tools / adb thì bạn đang chạy một số phiên bản adb cũ được cài đặt trên một vị trí khác trên máy.

Không có gì sai khi chạy adb ngoài cái được cung cấp với SDK nhưng nhược điểm là nó không được cập nhật tự động khi SDK Android được cập nhật và đó là lý do tại sao bạn gặp phải vấn đề phiên bản lỗi thời này.

Cách khắc phục dễ dàng hơn và để tránh vấn đề này trong tương lai đổi tên tệp nhị phân adb cũ (gây hiểu lầm) thành một cái khác.

Thực hiện theo các bước để giải quyết vấn đề này.

$ 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

Tôi đã thử điều này từ máy Mac của tôi, nó chỉ cho tôi biết rằng tôi không được phép đổi tên?
Jay Khói

Bạn cần đặc quyền của quản trị viên để thay đổi bất kỳ tên thư mục nào dưới / usr.
Akh

Tôi đã đăng nhập bằng root và tôi vẫn không thể thay đổi nó.
Jay Khói

giải pháp tuyệt vời, tôi đã có một liên kết quảng cáo adb đến ../ Cellar / ..., vì vậy ngay cả khi phiên bản adb cuối cùng được tải xuống với trình quản lý sdk, thiết lập đường dẫn tốt khắc phục vấn đề lỗi thời
Luidgi Gromat

15

Tôi vừa thoát khỏi HTC Sync, đã thử lại và nó đã hoạt động. Lưu ý: Điện thoại bị đen (bị khóa), tôi mới bật máy và có ứng dụng của tôi đang chạy. :)


Tôi gặp vấn đề tương tự với ZTE Sync, tôi đã gỡ bỏ nó và các thiết bị của tôi đã được hiển thị.
ovejaexiste 4/03/2015

11

Hệ thống: Windows 10

Vấn đề của tôi : Đặt Genymotion để trỏ đến SDK tùy chỉnh không có bất kỳ ảnh hưởng nào. Tôi vẫn nhận được:

Không thể bắt đầu dự án trên Android: không thể cài đặt trình nghe smartsocket : không thể liên kết với 127.0.0.1:5037: Chỉ được phép sử dụng một địa chỉ của mỗi địa chỉ ổ cắm (giao thức / địa chỉ mạng / cổng). (10048) không thể đọc ok từ Máy chủ ADB * không thể khởi động trình nền * lỗi: không thể kết nối với trình nền

Những gì tôi phát hiện ra là có sự khác biệt trong các phiên bản ADB đang được sử dụng trên toàn hệ thống. Đây là lệnh tôi đã sử dụng để tìm chúng:

where /r C:\ adb.exe

Điều này tạo ra kết quả:

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

Điều hướng đến từng thư mục và chạy:

adb.exe version

Cho phép tôi thấy rằng Expo đang chạy phiên bản ADB:

Android Debug Bridge version 1.0.36
Revision fd9e4d07b0f5-android

Trong khi Genymotion sử dụng SDK tùy chỉnh có phiên bản (c: \ Users \ kyle \ AppData \ Local \ Android \ Sdk \ platform-tools \ adb.exe):

Android Debug Bridge version 1.0.39
Revision 3db08f2c6889-android

Để kiểm tra, tôi đã lấy các tệp adb (adb.exe, AdbWinApi.dll, AdbWinUsbApi.dll) từ

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

và đặt chúng vào một thư mục sao lưu. Sau đó tôi đã di chuyển các tập tin adb nằm ở

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

vào cùng một vị trí Tôi đã giết adb với:

adb kill-server

đã tự động khởi động lại máy chủ adb do thiết bị Genymotion của tôi đã chạy. Tôi nhấn nút "Khởi động lại" bên trong Expo XDE và nó ngay lập tức bắt đầu hoạt động. Đây là nhật ký nơi tôi nhấn nút khởi động lại lúc 1:13:04 sáng:

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).

Kết luận : Genymotion và Expo có thể cần sử dụng cùng một phiên bản adb để Expo có thể giao tiếp đúng với thiết bị mô phỏng. Hướng Genymotion đến vị trí SDK Android của bạn cũng như đảm bảo Expo XDE có cùng phiên bản sẽ cho phép giao tiếp chính xác giữa các thiết bị. Tôi đã chuyển phiên bản Expo XDE sang vị trí SDK, nhưng bạn có thể đi theo một cách khác (lấy các tệp ADB sdk và đặt chúng vào vị trí tài nguyên của Expo XDE).

PS Tôi đã được tất cả thông qua các bài viết stackoverflow liên quan đến vấn đề này. Để các bạn biết trình quản lý tác vụ của tôi hiển thị ba phiên bản adb.exe đang chạy. Nếu bạn giết bất kỳ ai trong số họ, họ sẽ quay lại.

Hy vọng điều này sẽ giúp / chúc mừng


1
Điều này giải quyết vấn đề đầu tiên của tôi sau một số giờ (cảm ơn bạn đời). Vấn đề tiếp theo là thiết bị mô phỏng không được cấp phép (thiết bị adb) khiến tôi mất ít thời gian hơn để giải quyết.
Jonathan

8

Dường như trình nền ADB trên thiết bị (adbd) không đồng ý với quy trình máy chủ ADB trên máy tính chủ của bạn về phiên bản giao thức mà họ đang nói. Phiên bản SDK nào bạn đang chạy và phiên bản HĐH trên thiết bị bạn đang gỡ lỗi là gì?

Những gì bạn có thể cần làm là thực sự hạ cấp phiên bản công cụ SDK của bạn để quy trình và quy trình ADB được thỏa thuận. Tôi nghĩ rằng quá trình máy chủ hoàn toàn tương thích ngược, nhưng đây có thể là một trong những trường hợp góc mà nó không. Google không quảng cáo thực tế là bạn có thể nhận được các gói công cụ SDK cũ của họ, nhưng chúng có thể được tìm thấy bằng cách tìm trong khu vực lưu trữ tại http://developer.android.com .


1
Phiên bản nào bạn muốn giới thiệu rằng tôi hạ cấp?
Arunabh Das

Bạn đang sử dụng thiết bị nào và phiên bản HĐH nào đang chạy trên đó? Tôi thực sự nghĩ rằng không cần thiết phải hạ cấp bởi vì điều đó thường không cần thiết, nhưng như tôi đã nói, đây có thể là một trường hợp góc. SDK r10 vừa được phát hành trong tuần này và r9 chỉ một tháng trước. Nếu vấn đề đã được giới thiệu gần đây, r7 sẽ cung cấp một cơ sở ổn định trở lại vào mùa hè năm ngoái. Bạn có thể tìm thấy các phiên bản trước đó tại developer.android.com/sdk/tools-notes.html . Chúc may mắn
Eric Cloninger

Phiên bản hệ điều hành trên thiết bị = 2.2 và SDK = 10
Arunabh Das

Đây không phải là phiên bản không khớp giữa adbdadb servermà là giữa adb serveradb client(cả hai đang chạy trên PC)
Alex P.

6

Có một cách nhanh chóng để làm điều đó đầu tiên

sudo rm /usr/bin/adb

Sau đó

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

Cách nhanh nhất để khắc phục sự cố


7
Không thể tin rằng tôi có vấn đề tương tự và tôi đã nhận được câu trả lời từ chính mình một lần nữa
Ian Samz

Đây thực sự là cách nhanh nhất !! Cảm ơn!
Abbas

5

Tôi chỉ đơn giản là đóng hoàn toàn ứng dụng đồng bộ htc và thử lại. Nó làm việc như nó được yêu cầu.


5

Tôi đập đầu vào tường trên cái này. Điều này bắt đầu xảy ra khi tôi cài đặt phiên bản đồng bộ hóa HTC mới nhất (3.0.5579). Vì một số lý do, adb.exe đã hiển thị nhiều lần trong trình quản lý tác vụ và tôi đã nhận được máy chủ adb đã lỗi thời nhiều lần. Tôi đã tìm thấy phiên bản adb.exe trong thư mục đồng bộ hóa HTC và thư mục công cụ nền tảng SDK Android. Tôi đã thiết lập đường dẫn chính xác chỉ vào thư mục SDK Android và không thấy đường dẫn HTC Sync (có thể tôi đang thiếu một cái gì đó, nhưng tôi không nghĩ vậy). Dù sao, để khắc phục sự cố, tôi chỉ cần đổi tên tệp adb.exe trong thư mục HTC Sync và mọi thứ hoạt động trở lại. Đây có thể không phải là cách đúng đắn để khắc phục sự cố này, nhưng nó hiệu quả với tôi.


5

Đã giúp tôi: dừng HTC Sync (trong khay hệ thống) và đổi tên adb.exe của HTC (C: \ Program Files (x86) \ HTC \ HTC Sync 3.0 \ adb.exe).


5

Hệ thống: Windows 7, Android Studio.

Lỗi này xảy ra khi tôi chạy adb devicestừ Windows Commandline.

Nguyên nhân sâu xa là adb tôi đang chạy từ dòng lệnh không phải là adb chạy từ Android Studio.

Giải pháp:

  1. Đầu tiên, giết tất cả các tiến trình adb đang chạy trên máy.

    taskkill /F /IM adb.exe

  2. Chạy ứng dụng của bạn từ Android Studio.

  3. Định vị vị trí tệp chính xác của adb.exe từ Trình quản lý tác vụ Windows, HOẶC bằng cách chạy lệnh bên dưới

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

  4. Trên dấu nhắc lệnh của Windows, hãy chạy where adbđể xác định vị trí adb chạy từ dấu nhắc lệnh. Đường dẫn này sẽ khác với đường dẫn ở Bước 3 ở trên.

  5. Chỉnh sửa biến hệ thống Windows PATH. Xóa đường dẫn cơ sở được tìm thấy trong Bước 4 từ nó.

  6. Sau khi bạn đã chỉnh sửa PATH, bạn có thể thấy nội dung hiện tại của biến này bằng cách nhập lệnh bên dưới trong dấu nhắc lệnh MỚI (không sử dụng dấu nhắc cũ.)

    echo %PATH%

Bây giờ, chạy adb từ dấu nhắc lệnh. Nó KHÔNG nên hiển thị bất kỳ "lỗi máy chủ lỗi thời"!


5

Tôi đã gặp một vấn đề tương tự khi tôi cố gắng sử dụng, adbchẳng hạn như adb logcatcung cấp đầu ra lỗi này:

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

Giải pháp này đã làm việc cho tôi vào năm 2018 trên Ubuntu 18.04 từ Android Studio 3.2.1 bằng thiết bị đầu cuối.

Các lệnh như sau:

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

Bạn có thể cần điều chỉnh các cpđối số lệnh dựa trên đường dẫn đến Android/trên hệ thống của bạn.

Kudos thế hệ thứ 2 vào nguồn của tôi: https://stackoverflow.com/a/40991118/7015599


1
Tôi đã có thể làm một cái gì đó tương tự mà không cần thay thế / usr / bin / adb. Tôi đặt bí danh trong bash_aliases -> bí danh adb = '~ / Android / Sdk / platform-tools / adb'. Nguồn .bashrc và tốt để đi.
James

4

Thử cái này:

  1. Đóng ứng dụng Eclipse.

  2. adb kill-server

  3. Khởi động lại Eclipse.


4

Đầu tiên đóng Tất cả những thứ sử dụng ADB. (Android Studio, Eclipse, Trình giả lập (Bluestack cũng vậy)) và sau đó làm

adb kill-server
adb start-server

Trong trường hợp của tôi, tôi vừa cập nhật Studio.


2

Được rồi, có một phiên bản khác của adb.exe được phân phối với "Lenovo Photo Companion". Một người bạn của tôi có một máy tính xách tay Lenovo Yoga và đã cài đặt phần mềm này bao gồm một adb.exe khác

Việc cài đặt nó đã giải quyết vấn đề.


2

HĐH: Ubuntu

Có hơn 1 adb đang chạy. Kiểm tra adb hiện tại:

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

Thông thường kết quả sẽ là:

    /usr/bin/adb

Xóa phiên bản cũ hơn này bằng cách:

    cd /urs/bin
    sudo rm adb

1

Bạn đã thử sử dụng SDK phiên bản 8. Vì thiết bị ở phiên bản 2.2 và SDK của bạn ở mức 10, có thể có xung đột.

Tốt nhất của may mắn với những nỗ lực hạ cấp của bạn !! Hy vọng điều này giải quyết.


1

Nếu thiết bị bạn đang cố tương tác là điện thoại thực được kết nối qua USB, bạn có thể rút phích cắm và cắm lại và thiết bị sẽ hoạt động. Đôi khi nó chỉ mất đồng bộ tôi nghĩ.


1

Tôi gặp vấn đề này trên một trong các máy phát triển của mình (tất cả đều chạy windows 7 x64) trong khi adb của tất cả các máy khác hoạt động bình thường. Lý do tôi gặp phải vấn đề này là vì tôi có một phiên bản cũ của adb.exe nằm trong % android-sdk% \ tools trong khi SDK Android mới hơn có adb.exe dưới % android-sdk% \ platform-tools

xóa adb.exe cũ hơn khỏi% android-sdk% \ tools và thêm% android-sdk% \ platform-tools vào% PATH% giải quyết vấn đề này

hoặc nói chung hơn, tìm kiếm bất kỳ adb thực thi nào trong đường dẫn của bạn đã hết hạn, chỉ cần sử dụng cái mới nhất được cung cấp với SDK Android


1

Tôi đã xem qua tất cả các câu trả lời về SO và nó không hiệu quả với tôi. Khi tôi giết tiến trình adb.exe từ Trình quản lý tác vụ, nó tiếp tục mở lại và lý do là Droid Explorer đang hoạt động ở chế độ nền .

Giết quá trình DE thông qua Trình quản lý tác vụ và sau đó tắt adb.exe (và chạy lại nó từ bảng điều khiển thông qua 'adb start-server' làm việc cho tôi.

Điều này có thể hữu ích cho nhiều người đã root thiết bị của họ .


Đây là giải pháp cho tôi. Đảm bảo End process treetrong Trình quản lý tác vụ cho dịch vụ Droid Explorer.
Jason

1

Thật không may, tôi không có đủ danh tiếng để bình luận. Nhưng câu trả lời được đánh dấu là một câu trả lời đã gửi cho tôi đi đúng hướng.

Tôi không thấy bất cứ điều gì trong đường dẫn của mình liên quan đến HTC Sync Manager, mặc dù tôi đã cài đặt nó. Hiện tại tôi không làm việc với thiết bị HTC của mình và chỉ cài đặt trình quản lý đồng bộ để giải quyết các vấn đề về trình điều khiển. Sau khi gỡ cài đặt trình quản lý đồng bộ HTC, vấn đề này đã biến mất đối với tôi.

Hy vọng điều này sẽ giúp người khác.


1

Trong trường hợp của tôi, sự cố xảy ra do Virtupt Ten Studio, có adb.exe trong External/ADBthư mục.

Đến đó và chạy .\adb.exe kill-servervà bạn sẽ tốt.


1

Điều này được gây ra trong trường hợp của tôi bằng cách chạy Visual Studio với dự án Android Xamarin trên cùng một máy với Android Studio - mỗi IDE có một phiên bản máy chủ adb khác nhau đang chạy. Tôi đã đóng Visual Studio và lỗi đã biến mất.


0

Như đã đề cập ở trên, sự cố xảy ra do phiên bản adb.exe xung đột được gửi cùng với HTC Sync. Xóa nó khỏi PATH sẽ không giúp ích gì, vì htcUPCTLoader.exe liên tục chạy trong nền vẫn sẽ khởi chạy lại phiên bản ADB sai.

Một giải pháp sẽ là loại bỏ hoàn toàn adb.exe khỏi thư mục HTC Sync, tuy nhiên điều này sẽ phá vỡ HTC Sync.

Tôi vừa mã hóa một công cụ đơn giản thay thế adb.exe cũ bằng một sơ khai gọi adb.exe mới nhất từ thư mục SDK để loại bỏ các xung đột (ví dụ: phiên bản 1.0.25 đi kèm với HTC Sync và 1.0.29 với SDK Android) .

Công cụ sửa lỗi ADB

Có thể tải xuống công cụ từ http://visualgdb.com/adbfix


0

Tôi cũng gặp vấn đề này ngày hôm nay, hóa ra tôi đã vô hiệu hóa trình điều khiển mạng của mình vì tôi gặp vấn đề về WIFI / LAN. bật lại khắc phục sự cố


0

cài đặt bản cập nhật sdk (bao gồm các công cụ nền tảng) cho tôi!


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.