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

나에게는 자체 adb 버전이있는 Helium 데스크톱 앱을 종료하는 데 도움이되었습니다. :)
Velda

제 경우에는 Genymotion, 자체 버전을 사용하도록 구성되어 있거나 직접 설정할 수 있습니다.
Crysfel


aosp에서는 로컬 (AOSP 외부) 버전이 작동하지 않기 때문에 이름이 바뀌 었 aosp/out/host/darwin-x86/bin/adb습니다 . adb-aospaliasing
Paschalis

답변:


299

가상 장치에 Genymotion을 사용하고 있습니까?

그렇다면 Genymotion의 ADB가 Android SDK의 ADB와 동일한 포트 번호를 사용하여 충돌했기 때문에이 오류가 발생했을 것입니다.이를 수정하려면 settings=> ADB탭 선택 => 옵션을 클릭하고 Use custom Android SDK ToolsSDK 폴더를 설정하십시오.

여기에 이미지 설명을 입력하십시오

이를 구성한 후, 폴더로 이동하여 ADB를 다시 시작하려고 배치하고이 명령을 수행합니다platform-toolsadb

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

* 팁 : 위 명령을 실행하기 전에 Genymotion 프로세스를 닫을 수 있습니다

이 도움을 바랍니다.


감사합니다 Aditya !!! 마침내 괜찮은 대답. 안드로이드 스튜디오를 업데이트 한 후 시작되었습니다. 나는 이것에 미쳐 가고 SDK와 모든 것을 다시 설치했다. 새 버전에서는 버그라고 생각했습니다.
TacoEater

1
이것 만이 도움이되었습니다! 'adbfix'라는 작은 도구가 있는데 이는 경로 관련 문제 일 수 있지만 실제로 문제를 해결하는 데 아무런 도움이되지 않았다는 힌트를줍니다.
icarus74

재고 에뮬레이터가 우분투에서 실행되는 내 노트북 ​​컴퓨터를 계속 가열하면서 너무 많은 리소스를 소비하기 때문에 Genymotion을 좋아합니다.
thethakuri

1
시스템에 genymotion이 설치되어 있지 않습니다 . 이 문제를 어떻게 해결합니까?
arka.b

7
위의 명령을 실행하기 전에 모든 genymotion 에뮬레이터를 닫아야합니다.
Robert

63

컴퓨터에서 Dell PC Suite 및 HTC Sync를 제거했는데이 문제가 해결되었습니다.

편집 : 이 문제의 원인을 조금 더 설명하려면 : HTC 동기화는 자체 ADB 서버와 함께 제공됩니다. 또한 서버의 버전을 가리 키도록 PATH 환경 변수를 업데이트합니다. PATH 변수를 편집하고 HTC 동기화 디렉토리에 대한 참조를 제거하십시오. 이제 Google ADB를 다시 사용하고 있습니다.


1
이 문제는 내 맥 OS-X 애플 장치에 있습니다.
Ritesh Kumar Singh

4
HTC 동기화가 문제였습니다. 그것은 지속적으로 adb.exe와 충돌을 일으키는 원인이 백그라운드에서 실행
rharvey

LG AirBridge가 문제를 일으켜 제거하고 실행 adb start-server했습니다.
jamsandwich

1
개발자는 HTC Sync Manager와 함께 제공되는 HTC USB 드라이버가 필요합니다. 이것은 내가 사용하는 OS 인 Windows 10의 유일한 경우입니다. 설치 후 HTC 동기화가 백그라운드에서 계속 실행됩니다. 작업 관리자> 서비스 탭을 연 다음 HTCMonitorService 백그라운드 작업을 해제하십시오. 그러면 HTC 동기화가 Google ADB와 충돌하지 않으며 HTC 장치가 PC에 연결되어있을 때 Google ADB가 잠기지 않습니다.
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에서 CTL+ Shift+ ESC를 눌러 작업 관리자에 액세스하고 이미지 이름 열을 정렬 한 다음 adb.exe마우스 오른쪽 단추를 클릭하고 프로세스 종료를 선택하여 모든 인스턴스를 종료하십시오 . adb.exe아래에 여러 인스턴스가 있습니다.

여러 adb.exe 인스턴스-죽이는 방법

리눅스 (Android)

Linux 환경에서는 kill -9명령을 사용하십시오 . 이와 같은 것이 실행중인 Android 장치에서 작동했습니다 adb( ps출력 사용 ,로 grep시작하는 프로세스 검색 , 프로세스 adb에서 프로세스 ID 가져 오기 adb및 해당 ID를 kill -9명령으로 전송).

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

그런 다음 adb를 다시 시작하십시오.

한때 adb따라서 충돌 - - 프로세스 후 재 시도 실행, 해결 adb다시 명령 줄에서 :

adb start-server

필자의 경우, 다른 adb 인스턴스가 GapDebug의 일부로 실행되고 있음을 알았습니다. GapDebug를 중지하고 실행중인 adb 프로세스를 종료하고 ~ / Library / Android / sdk // platform-tools에서 ./adb start-server를 호출하여 해결했습니다.
Gwened

20

내 컴퓨터 (Ubuntu 14.04 및 Genymotion 2.5.2)에서 문제의 원인은 다른 버전의 2 개의 adb 파일이 있다는 것입니다.

(이 문제의 원인을 좁히기 전에 Aditya Kresna Permana의 조언에 따라 머신에 설치된 Android SDK 디렉토리를 참조하는 Genymotion의 설정> "사용자 정의 Android SDK 도구 사용"이 이미 있습니다. 또한 adb 서버를 죽이고 시작하는 방법과 다른 몇 가지를 시도했습니다 웹상의 솔루션).

그런 다음 그 달리는 것을 보았다 adb version Android SDK 설치 디렉토리 인“~ / Android / Sdk / platform-tools”에서 실행되는 것을 확인했습니다. "Android Debug Bridge 버전 1.0.32"

그러나 adb version“/ usr / bin”디렉토리의 명령은“Android Debug Bridge 버전 1.0.31”입니다.

http://bernaerts.dyndns.org/linux/74-ubuntu/328-ubuntu-trusty-android-adb-fastboot-qtadb 를 따라 “/ usr / bin”에서 adb를 업데이트하십시오.

# 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 (Cordova) 앱이 Genymotion의 가상 장치와 통합되기 전에 관련된 문제를 해결했습니다. 이제 분명히 그 문제도 해결되었습니다.


정말 고맙습니다. 내 시간을 절약했습니다. 이것은 우분투 14.04에서 완벽하게 작동합니다. adb의 wget URL을 어떻게 얻었습니까? @Rohan_Paul
Akbar Sha Ebrahim

나는 지금 이것을 얻고있다 : bash : / usr / bin / adb : 그런 파일이나 디렉토리가 없다
Tushar Saha

17

SDK에 포함 된 것 이외의 adb를 실행하고 있기 때문입니다. 리눅스에서 adb 바이너리가 어디에 있는지 확인하십시오.

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

ANDROID_SDK / platform-tools / adb를 가리 키지 않으면 컴퓨터의 다른 위치에 설치된 일부 이전 버전의 adb가 실행되고있는 것입니다.

SDK와 함께 제공된 것 이외의 adb를 잘못 실행하는 것은 없지만 안드로이드 SDK가 업데이트 될 때 자동으로 업데이트되지 않기 때문에이 오래된 버전 문제가 발생합니다.

보다 쉬운 수정 및 향후이 문제를 피하기 위해 이전 (잘못된) 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에서 이것을 시도했지만 이름을 변경할 권한이 없다고 말합니까?
Jay Smoke

/ usr에서 dir 이름을 변경하려면 관리자 권한이 필요합니다.
Akh

루트로 로그인했는데 여전히 변경할 수 없었습니다.
Jay Smoke

훌륭한 솔루션, 나는 ../ Cellar / ...에 adb symlink를 가졌다. 그래서 마지막 adb 버전이 SDK 관리자와 함께 다운로드
되었더라도 구식

15

방금 HTC 동기화를 종료하고 다시 시도한 후 작동했습니다. 주의 사항 : 전화가 검은 색으로 고정되어 방금 켜져 있으며 응용 프로그램이 실행 중입니다. :)


ZTE 동기화와 동일한 문제가 발생하여 제거했으며 장치가 표시되었습니다.
ovejaexiste

11

시스템 : Windows 10

내 문제 : 사용자 지정 SDK를 가리 키도록 Genymotion을 설정해도 아무런 영향이 없습니다. 나는 여전히 :

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

사용자 정의 SDK를 사용하는 Genymotion의 버전은 다음과 같습니다 (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

내 Genymotion 장치가 이미 실행되어 adb 서버가 자동으로 다시 시작되었습니다. Expo XDE 내부의 "다시 시작"버튼을 누르면 즉시 작동하기 시작했습니다. 오전 1시 13 분 4 초에 다시 시작 버튼을 누른 로그는 다음과 같습니다.

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는 Expo가 시뮬레이션 된 장치와 올바르게 통신 할 수 있도록 동일한 버전의 adb를 사용해야 할 수도 있습니다. Genymotion이 Android SDK 위치를 가리키고 Expo XDE에 동일한 버전이 있는지 확인하면 장치간에 올바른 통신이 가능합니다. Expo XDE 버전을 SDK 위치로 옮겼지만 다른 방법으로 이동할 수 있습니다 (sdk ADB 파일을 가져 와서 Expo XDE 리소스 위치에 배치).

추신 : 나는이 문제와 관련된 스택 오버 플로우 게시물을 모두 보았습니다. 내 작업 관리자가 3 개의 adb.exe 인스턴스를 실행 중임을 보여줍니다. 당신이 그들 중 하나를 죽이면 그들은 다시 돌아옵니다.

이것이 / 건배에 도움이되기를 바랍니다.


1
이것은 몇 시간 후에 내 첫 번째 문제를 해결했습니다 (감사합니다). 다음 문제는 에뮬레이트 된 장치가 승인되지 않았기 때문에 (adb 장치) 해결하는 데 시간이 덜 걸렸습니다.
Jonathan

8

장치의 ADB 데몬 (adbd)이 호스트 컴퓨터의 ADB 서버 프로세스와 통신중인 프로토콜 버전에 대해 동의하지 않는 것 같습니다. 실행중인 SDK 버전과 디버깅중인 장치의 OS 버전은 무엇입니까?

실제로 ADB 데몬과 프로세스가 일치하도록 SDK 도구 버전을 다운 그레이드해야합니다. 서버 프로세스가 이전 버전과 완전히 호환된다고 생각했지만 그렇지 않은 경우 중 하나 일 수 있습니다. Google은 이전 SDK 도구 패키지를 얻을 수 있다는 사실을 알리지 않지만 http://developer.android.com 의 아카이브 영역에서 찾을 수 있습니다 .


1
어떤 버전으로 다운 그레이드하도록 권장 하시겠습니까?
Arunabh Das

어떤 장치를 사용하고 있으며 어떤 OS 버전을 실행하고 있습니까? 필자는 일반적으로 필요하지 않기 때문에 다운 그레이드해야 할 필요는 없다고 생각하지만, 말한 것처럼 이것은 모퉁이가 될 수 있습니다. SDK r10은 이번 주에 방금 출시되었으며 한 달 정도 전에 r9를 발표했습니다. 최근에 문제가 발생한 경우 r7은 지난 여름으로 안정적인 기반을 제공해야합니다. 이러한 이전 버전은 developer.android.com/sdk/tools-notes.html 에서 찾을 수 있습니다 . 행운을 빌어 요
에릭 Cloninger

장치의 OS 버전 = 2.2 및 SDK = 10
Arunabh Das

이 사이 버전이 일치하지 않습니다 adbdadb server오히려 사이 adb serveradb client(모두 PC에서 실행)
알렉스 P.

7

먼저 할 수있는 빠른 방법이 있습니다

sudo rm /usr/bin/adb

그때

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

문제를 해결하는 가장 빠른 방법


7
생각 질수 내가 같은 문제를했고 난 다시 자신의 답을 얻기 위해 온
이안 Samz을

이것은 정말로 가장 빠른 방법입니다! 감사!
Abbas

5

htc 동기화 응용 프로그램을 완전히 닫고 다시 시도했습니다. 예상대로 작동했습니다.


5

나는 이것에 대해 벽에 머리를 두들 겼다. 이것은 최신 버전의 HTC 동기화 (3.0.5579)를 설치했을 때 발생했습니다. 어떤 이유로 adb.exe가 작업 관리자에 여러 번 나타나고 adb 서버가 오래되어 오류가 여러 번 종료되었습니다. HTC 동기화 디렉토리와 Android SDK platform-tools 디렉토리에서 adb.exe 버전을 찾았습니다. 안드로이드 SDK 디렉토리를 올바르게 가리키는 경로 설정이 있었고 HTC 동기화 경로를 보지 못했습니다 (아마도 뭔가 빠졌지 만 그렇게 생각하지는 않습니다). 어쨌든 문제를 해결하기 위해 간단히 HTC Sync 디렉토리의 adb.exe 파일 이름을 바꾸고 모든 것이 다시 작동했습니다. 이것은이 수정에 대한 올바른 방법이 아닐 수도 있지만 나를 위해 일했습니다.


5

나를 위해 도움 : HTC 동기화 (시스템 트레이에서)를 중지하고 HTC의 adb.exe (C : \ Program Files (x86) \ HTC \ HTC Sync 3.0 \ adb.exe)의 이름을 바꿉니다.


5

시스템 : Windows 7, Android Studio.

이 오류 adb devices는 Windows Commandline에서 실행할 때 발생했습니다 .

근본 원인은 명령 줄에서 실행중인 adb가 Android Studio에서 실행되는 동일한 adb가 아니기 때문입니다.

해결책:

  1. 먼저 머신에서 실행중인 모든 adb 프로세스를 종료하십시오.

    taskkill /F /IM adb.exe

  2. Android Studio에서 앱을 실행하십시오.

  3. Windows 작업 관리자에서 또는 아래 명령실행하여 adb.exe의 정확한 파일 위치를 찾으십시오.

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

  4. Windows 명령 프롬프트에서 실행 where adb하여 명령 프롬프트에서 실행 되는 adb를 찾으십시오. 이 경로는 위의 3 단계와 다릅니다.

  5. Windows 시스템 변수 PATH를 편집하십시오. 4 단계에서 찾은 기본 경로를 삭제하십시오.

  6. PATH를 편집 한 후 NEW 명령 프롬프트에 아래 명령을 입력하여이 변수의 현재 내용을 볼 수 있습니다 (이전 프롬프트는 사용하지 마십시오).

    echo %PATH%

이제 명령 프롬프트에서 adb를 실행하십시오. "서버 만료 오류"가 표시되지 않아야합니다!


5

이 오류 출력 adbadb logcat제공 하는 등의 사용하려는 경우 비슷한 문제가 발생했습니다.

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

이 솔루션 은 2018 년 Android Studio 3.2.1의 Ubuntu 18.04에서 터미널을 사용하여 저에게 효과적이었습니다.

명령은 다음과 같습니다.

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 세대 kudos : https : //.com/a/40991118/7015599


1
/ usr / bin / adb를 바꾸지 않고 비슷한 것을 할 수있었습니다. bash_aliases-> alias adb = '~ / Android / Sdk / platform-tools / adb'에 별칭을 설정했습니다. 소스 .bashrc와 좋은 곳.
James

4

이 시도:

  1. Eclipse 애플리케이션을 닫으십시오.

  2. adb kill-server

  3. Eclipse를 다시 시작하십시오.


4

먼저 ADB를 사용하는 모든 것을 닫으십시오. (Android Studio, Eclipse, Emulator (Bluestack도))

adb kill-server
adb start-server

제 경우에는 방금 Studio를 업데이트했습니다.


2

"Lenovo Photo Companion"과 함께 배포 된 다른 adb.exe 인스턴스가 있습니다. 내 친구가 Lenovo Yoga 노트북을 가지고 있으며 다른 adb.exe가 포함 된이 소프트웨어를 설치했습니다.

제거하면 문제가 해결되었습니다.


2

운영체제 : Ubuntu

adb가 2 개 이상 실행 중입니다. 현재 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

다른 컴퓨터의 adb가 정상적으로 작동하는 동안 내 개발 컴퓨터 중 하나 (모든 Windows 7 x64 실행) 에서이 문제가 발생했습니다. 이 문제가 발생한 이유는 이전 버전의 adb.exe% android-sdk % \ tools에 있고 최신 Android SDK에는 % android-sdk % \ platform-tools 아래에 adb.exe가 있기 때문입니다.

% android-sdk % \ tools에서 이전 adb.exe를 제거하고 % PATH %에 % android-sdk % \ platform-tools를 추가하면이 문제가 해결됩니다.

또는 더 일반적으로, 경로에서 오래된 adb 실행 파일을 찾으십시오 .Android SDK와 함께 제공된 최신 파일을 사용하십시오.


1

나는 SO에 대한 모든 대답을 겪었고 나에게는 효과가 없었다. 작업 관리자에서 adb.exe 프로세스를 종료했을 때 프로세스가 계속 다시 열렸으며 그 이유는 Droid Explorer가 백그라운드에서 작동 했기 때문입니다. 입니다.

작업 관리자를 통해 DE 프로세스를 종료 한 다음 adb.exe를 종료하십시오 (그리고 콘솔에서 'adb start-server'를 통해 다시 실행).

이것은 장치를 근절 한 많은 사람들에게 유용 할 수 있습니다 .


이것이 나를위한 해결책이었습니다. End process treeDroid Explorer 서비스의 작업 관리자에서 확인하십시오 .
Jason

1

불행히도 나는 아직 언급할만한 평판이 없습니다. 그러나 응답으로 표시된 응답은 올바른 방향으로 저를 보냈습니다.

HTC Sync Manager와 관련하여 경로에 아무것도 표시되지 않지만 설치되어 있습니다. 현재 HTC 장치를 사용하고 있지 않으며 드라이버 문제를 해결하기 위해 동기화 관리자 만 설치했습니다. HTC 동기화 관리자를 제거하면이 문제가 사라졌습니다.

이것이 다른 누군가를 돕기를 바랍니다.


1

내 경우에는 문제가 art.exe가있는 Virtuous Ten Studio에 의해 발생했습니다. External/ADB 디렉토리에 .

거기 가서 뛰면 .\adb.exe kill-server좋을거야


1

내 경우에는 Android Studio와 동일한 컴퓨터에서 Android Xamarin 프로젝트로 Visual Studio를 실행하여 발생했습니다. 각 IDE마다 다른 adb 서버 버전이 실행 중이었습니다. Visual Studio를 닫고 오류가 사라졌습니다.


0

위에서 언급했듯이 HTC Sync와 함께 제공 되는 충돌하는 adb.exe 버전으로 인해 문제가 발생 합니다. 백그라운드에서 지속적으로 실행 되는 htcUPCTLoader.exe 가 여전히 잘못된 ADB 버전을 다시 시작하므로 PATH에서 제거하면 도움이되지 않습니다 .

한 가지 해결책은 HTC 동기화 폴더에서 adb.exe 를 완전히 제거하는 것이지만 HTC 동기화가 중단됩니다.

방금 이전 adb.exe 를 SDK 디렉토리에서 최신 adb.exe 를 호출하는 스텁으로 대체 하는 간단한 도구 를 코딩 했습니다 (예 : HTC Sync와 함께 제공되는 버전 1.0.25 및 Android SDK와 함께 1.0.29) .

ADB Fixer 도구

이 도구는 http://visualgdb.com/adbfix 에서 다운로드 할 수 있습니다.


0

나는 또한 오늘이 문제가 있었고 WIFI / LAN 문제가있어서 네트워크 드라이버를 비활성화했습니다. 문제를 다시 활성화


0

나를 위해 수정 된 SDK 업데이트 (플랫폼 도구 포함) 설치!


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.