공기계 최초개통(Shizuku+rish, 포트 5900)부터 스크린샷/APK/mesh 자동복구까지
Android Debug Bridge — PC에서 폰을 제어하는 표준 도구입니다.
adb exec-out screencapadb installadb push/pulladb shell한 번도 ADB를 켜본 적 없는 공기계를 재부팅에도 강한 영구 무선 ADB로 만드는 절차. 실측 확정판(2026-08-21).
5555는 절대 쓰지 마세요. 5555~5585는 adb 에뮬레이터 포트 대역이라 adb가 기기를 에뮬레이터로 오인해 emulator-5554 offline이 뜹니다. 정답은 5900입니다.
offline = 포트 문제 / unauthorized = RSA 승인만 남은 것(거의 다 된 것).
Termux에서 버전/모델부터 확인 (SDK ≤29면 USB 1회, SDK ≥30이면 무선 페어링 경로)
설정 → 휴대전화 정보 → 빌드 번호 7회 탭 → 개발자 모드
(Xiaomi/Redmi는 MIUI 버전도 7회 탭 추가)
Android 10 이하(SDK≤29) — PC/WSL에서 USB 연결 후 1회:
Android 11 이상(SDK≥30) — 무선 디버깅 페어링:
개발자 옵션 → 무선 디버깅 ON → "페어링 코드로 기기 페어링" → 화면에 뜨는 포트/6자리 코드로 자기 자신과 페어링:
APK: Shizuku 포크 13.7.0-thedjchi (TCP 모드 5900 지원. 원본 13.6은 포트 고정 안 됨)
termux-open ~/shizuku-fork.apk → 출처 허용 팝업 처리rish -c id 첫 실행은 원격/SSH가 아니라 폰 화면에서 직접 해야 합니다. Shizuku 권한 팝업을 사람이 눌러야 하기 때문에 원격으로만 하면 조용히 실패합니다. 기대 출력: uid=2000(shell)
Termux:Boot APK 설치 → ~/.termux/boot/에 부팅 스크립트 3개 배치(Shizuku 재기동 · sshd 시작 · ADB 포트 저장), chmod +x.
이후 PC/WSL에서: adb connect <TailscaleIP>:5900 — 같은 WiFi 아니어도 케이블 없이 영구 연결.
emulator-5554 offline → 5555 대역 사용 중, 5900으로 교체
unauthorized → 폰 잠금해제+화면 켠 채 "항상 허용"
protocol fault → Android 15+ 삼성 SPAKE2 페어링 버그, USB tcpip 5900으로 우회
rish Illegal instruction → librish.so 오염, APK에서 재추출
rish 원격 실행 조용히 실패 → 권한 팝업 못 누름, 폰 화면 직접 1회 실행
재부팅 후 5900 사라짐 → Shizuku 부팅시작+워치독+boot 스크립트 확인
위 개통 절차를 이미 끝낸 폰을 다시 연결할 때
재부팅 후에도 무선 디버깅 설정은 유지됩니다. 다만 TLS 포트가 변경될 수 있는데, 8번 위젯이 자동으로 감지합니다.
ADB로 할 수 있는 작업들
연결이 끊겼을 때 폰/태블릿끼리 서로 복구하는 시스템
adb_revive.sh는 폰 ADB가 끊겼을 때, WSL에서 다음 순서로 복구를 시도합니다:
1. 폰/태블릿 Wi-Fi 연결 확인
2. 개발자 옵션 → 무선 디버깅 ON 확인
3. 같은 Tailscale 네트워크인지 확인
4. 위젯 8번 다시 실행 (또는 adb_revive.sh)
🔌 ADB 무선 디버깅 완료!