뇌 전 시 뮬 레이 터 adb devices 127.0.0.1: 5555 오프라인 분석 및 해결 방법

많은 설치 시 뮬 레이 터 는 adb. exe 를 가지 고 있 습 니 다. 어떤 것 은 루트 디 렉 터 리 이 고, 어떤 것 은 tool 아래 에 있 으 며, 어떤 것 은 이름 을 바 꾸 었 습 니 다. 예 를 들 어 야신 이 시 뮬 레이 터 를 설치 하면 adb. exe 를 nox 로 바 꾸 었 습 니 다.adb. exe, 소요 안 드 로 이 드 와 뇌 전 안 드 로 이 드 시 뮬 레이 터 는 모두 안 드 로 이 드 - sdk 의 adb. exe 를 유지 하지만 우리 가 비교 할 때 이런 adb. exe 는 현저 한 크기 가 다르다. 즉, 안 드 로 이 드 시 뮬 레이 터 를 개발 할 때 두 번 째 로 adb. exe 를 밀봉 한 것 이다.
오류 설명
안 드 로 이 드 시 뮬 레이 터 를 실행 할 때 자신의 프로 세 스 를 시작 하 는 것 을 제외 하고 adb. exe 를 시작 합 니 다. 예 를 들 어 우리 가 번개 시 뮬 레이 터 를 시작 할 때 시스템 프로 세 스 에 adb.exednplayer.exe 두 프로 세 스 가 나타 납 니 다.
이 럴 때 운행 할 게 요.
> adb devices
    
List of devices attached
emulator-5554   device
127.0.0.1:5555  offline

분명히 시 뮬 레이 터 를 켰 는데 왜 연결 되 지 않 은 127.0.0.1: 5555 를 되 돌려 줍 니까?우리 가 안 드 로 이 드 를 테스트 할 때 는 나타 나 지 않 고 번개 시 뮬 레이 터 에 만 나타난다.
오류 분석
1. adb 가 시작 하면 5555 포트 에 연결 하여 adb 를 시작 할 때 adb 는 'adb fork - server server server' 를 통 해 adb demon 을 시작 한 후에 demon 은 로 컬 5555 + 322 포트 를 찾 습 니 다. 왜 emulator - 5555 가 아 닌 emulator - 5554 로 연결 하 는 지 에 뮬 레이 터 라 고 부 릅 니 다. 이것 은 adb 가 자동 으로 사용자 에 게 이 컴퓨터 를 연결 하 기 를 기대 하 는 emulator (16 개 까지 가능) 때 문 입 니 다.이것 은 emulator 가 부족 한 console 포트 가 5554 (telnet 로 emulator 와 연결 할 수 있 을 것 같 습 니 다 (아직 테스트 되 지 않 았 습 니 다) 이 고, adb 의 포트 는 console 포트 + 1 이 5555 이기 때문에 프로그램 감청 5555 포트 가 있 으 면 adb 는 emulator 로 여 겨 집 니 다.
해결 방법:
전체적인 사고방식 은 간단 합 니 다. 먼저 adb. exe 프로 세 스 를 죽 이 고 adb. exe 를 다시 시작 합 니 다. adb. exe 프로 세 스 를 끝 내 는 방법
1) cmd 명령 을 통 해 포트 점용 프로 세 스 를 끝 냅 니 다.
1, 5037 adb 기본 포트 2, 사용 포트 의 프로 세 스 PID 보기
> netstat -aon|findstr 5037
  TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       15448

3. PID 를 통 해 모든 프로 세 스 보기
> tasklist /fi "PID eq 15448"
 
                           PID                    #           
========================= ======== ================ =========== ============
adb.exe                      15448 Console                    1      5,728 K

4. 포트 를 사용 하 는 프로 세 스 죽 이기
> taskkill /pid 15448 /f
  :     PID   15448    。

2) api (TerminateProcess) 를 사용 하여 프로 세 스 종료 (adb. exe)
단점: 5037 포트 가 반드시 adb. exe 가 차지 하 는 것 은 아 닙 니 다.예 를 들 어 쿨 한 개, 360, 컴퓨터 관리자, 많은 소프트웨어 가 핸드폰 조수 로 통합 되 었 다. 즉, 이런 소프트웨어 를 시작 할 때 adb, exe 가 시 작 될 수 있다. 프로 세 스 이름 이 반드시 adb, exe 가 아니 라
3) 최 적 해결 방안
사실, 우 리 는 adb 모듈 제3 과, adb 초기 화 에서 이미 통과 되 었 습 니 다.  adb kill-serveradb start-server 이 문 제 를 처 리 했 습 니 다. 그러면 이렇게 번개 시 뮬 레이 터 를 혼자 켰 을 때 돌아 온 것 은?
127.0.0.1:5555 device

사실 이것 도 성공 적 입 니 다. 이것 이 바로 첫 번 째 시 뮬 레이 터 입 니 다. 만약 에 우리 가 먼저 뇌 전 시 뮬 레이 터 가 시작 하 는 adb. exe 프로 세 스 를 받 아들 이 고 adb. exe 를 다시 시작 할 때 이때 돌아 오 는 것 은 바로
emulator-5554   device

그러면 우리 가 이 문 제 를 어떻게 처리 하 는 것 이 가장 좋 은 지 모듈 초기 화 에서 모두 추가 할 수 있 습 니 다. 이렇게 하면 틀림 없습니다.
관심 있 을 만 한 글:
▪ 안 드 로 이 드 시 뮬 레이 터 쉬 운 언어 adb 모듈 제작 보기 시 뮬 레이 터 장치 (adb devices)
▪ ADB 모듈 제작 뇌 전 시 뮬 레이 터 모 바 일 게임 '천 룡 8 부'
▪ 이 언어 안 드 로 이 드 시 뮬 레이 터 ADB 모듈 천둥 시 뮬 레이 터 설치 경로
▪ 안 드 로 이 드 시 뮬 레이 터 쉬 운 언어 adb 모듈 adb 초기 화
▪ 안 드 로 이 드 adb 명령 을 사용 하여 인 스 턴 스 를 자세히 설명 하 는 것 을 알 고 있 습 니 다.
▪ 뇌 전 시 뮬 레이 터 설정 파일 파라미터 해독
▪ Android adb 셸 명령 상세 설명 및 인 스 턴 스
▪ 뇌 전 안 드 로 이 드 시 뮬 레이 터 adb 멀 티 플 렉 스
▪ adb 셸 명령 시 뮬 레이 션 버튼/입력 input 사용 keycode 목록 상세 설명
▪ 소요 안 드 로 이 드 시 뮬 레이 터 adb 멀 티 플 렉 스 방법

좋은 웹페이지 즐겨찾기