Android/ADB

ADB 활용 고급 팁 및 문제 해결

임베디드 친구 2025. 2. 20. 09:23
728x90
반응형

Android Debug Bridge(ADB)는 Android 기기와 컴퓨터 간의 통신을 가능하게 하는 강력한 도구입니다. ADB를 활용하면 개발과 디버깅이 훨씬 편리해지지만, 때때로 예상치 못한 문제들이 발생할 수 있습니다. 이번 포스팅에서는 ADB 활용에 대한 고급 팁과 함께 자주 발생하는 문제 해결 방법을 다루고, 특히 기기를 인식하지 못하는 경우의 해결 방법과 adb sideload를 이용한 업데이트 및 롬 설치 방법을 설명하겠습니다.

1. ADB가 기기를 인식하지 못할 때 해결 방법

ADB를 사용할 때 가장 흔히 겪는 문제 중 하나는 기기가 제대로 인식되지 않는 것입니다. 이러한 경우에는 다음과 같은 단계를 통해 문제를 해결할 수 있습니다.

1.1 USB 디버깅 활성화 여부 확인

ADB를 사용하려면 먼저 Android 기기에서 USB 디버깅을 활성화해야 합니다.

  1. 개발자 옵션 활성화:
    • 설정 → 휴대전화 정보 → 빌드 번호를 7번 연속 탭하여 개발자 모드를 활성화합니다.
  2. USB 디버깅 활성화:
    • 설정 → 시스템 → 개발자 옵션 → USB 디버깅을 활성화합니다.

1.2 adb devices 명령어로 기기 확인

ADB가 정상적으로 동작하는지 확인하려면 다음 명령어를 실행해 봅니다.

adb devices

이 명령어를 실행했을 때 기기가 device 상태로 표시되지 않는다면 아래 단계를 시도해 보십시오.

1.3 USB 연결 확인 및 드라이버 재설치

  • USB 케이블과 포트를 변경해 봅니다.
  • Windows 사용자의 경우, Android USB 드라이버를 설치해야 합니다.
    • Google USB Driver 다운로드
    • Device Manager에서 Android Composite ADB Interface 드라이버가 정상적으로 설치되었는지 확인합니다.

1.4 ADB 서버 재시작

ADB 서버를 다시 시작하면 연결 문제가 해결될 수 있습니다.

adb kill-server
adb start-server
adb devices

1.5 권한 문제 해결 (Linux 및 macOS)

Linux 또는 macOS에서 ADB가 실행되지 않는다면 권한 문제일 가능성이 있습니다. 다음 명령어를 실행하여 해결할 수 있습니다.

sudo adb kill-server
sudo adb start-server
adb devices

또한, ~/.android/adbkey 파일을 삭제하고 다시 ADB를 실행해 볼 수도 있습니다.

rm ~/.android/adbkey*
adb start-server
adb devices

2. adb sideload를 활용한 업데이트 및 롬 설치

adb sideload는 OTA(Over-the-Air) 업데이트 또는 커스텀 롬을 설치할 때 유용한 기능입니다. 이를 사용하여 ZIP 파일 형태의 업데이트를 간편하게 적용할 수 있습니다.

2.1 adb sideload를 이용한 업데이트 방법

  1. 기기를 리커버리 모드로 부팅

    • 대부분의 기기에서 전원 버튼 + 볼륨 업 버튼을 동시에 눌러 리커버리 모드로 진입할 수 있습니다.
    • 리커버리 메뉴에서 Apply update from ADB 옵션을 선택합니다.
  2. ADB로 기기 확인

    adb devices

    기기가 sideload 상태로 표시되면 정상적으로 연결된 것입니다.

  3. 업데이트 파일 전송

    adb sideload update.zip

    위 명령어에서 update.zip은 설치하려는 ZIP 파일의 이름입니다.

  4. 설치 완료 후 재부팅

    • 업데이트가 완료되면 Reboot system now 옵션을 선택하여 기기를 재부팅합니다.

2.2 adb sideload 문제 해결

만약 adb sideload 중 오류가 발생한다면 다음과 같은 해결 방법을 시도해 볼 수 있습니다.

  • ZIP 파일이 손상되었는지 확인: 다운로드한 ZIP 파일이 정상적으로 다운로드되었는지 확인 후 다시 시도합니다.
  • USB 케이블 변경: 연결이 불안정하면 전송 중 오류가 발생할 수 있습니다.
  • ADB 버전 확인: adb version 명령어를 실행하여 최신 버전인지 확인합니다.
  • ADB 다시 실행: adb kill-server && adb start-server 명령어로 ADB를 재시작한 후 다시 시도합니다.

3. ADB 관련 자주 발생하는 오류와 해결 방법

ADB를 사용할 때 다음과 같은 오류가 발생할 수 있으며, 이에 대한 해결 방법을 정리하였습니다.

3.1 adb: command not found

이 오류는 ADB가 시스템의 환경 변수에 제대로 등록되지 않았거나 설치되지 않은 경우 발생합니다.

해결 방법:

  • ADB가 설치된 경로를 확인하고 환경 변수에 추가합니다.
  • 직접 ADB 명령을 실행할 경우, 전체 경로를 사용합니다.
    ~/Android/Sdk/platform-tools/adb devices

3.2 device unauthorized

ADB에서 기기가 unauthorized 상태로 표시되면 기기에서 USB 디버깅 권한을 허용하지 않았을 가능성이 높습니다.

해결 방법:

  1. 기기에서 USB 디버깅을 해제한 후 다시 활성화합니다.
  2. USB를 다시 연결한 후 디버깅 허용 창이 나타나면 '허용'을 선택합니다.
  3. adb kill-server && adb start-server 명령을 실행하여 ADB를 다시 시작합니다.

3.3 no devices/emulators found

이 오류는 ADB가 실행 중이지만, 연결된 기기를 감지하지 못하는 경우 발생합니다.

해결 방법:

  • USB 케이블과 포트를 변경합니다.
  • adb kill-server && adb start-server 명령으로 ADB를 재시작합니다.
  • 개발자 옵션에서 USB 디버깅을 해제 후 다시 활성화합니다.
  • lsusb (Linux) 또는 devmgmt.msc (Windows)를 이용해 기기가 연결되었는지 확인합니다.

결론

이번 포스팅에서는 ADB를 활용한 고급 팁과 함께, 기기를 인식하지 못할 때의 해결 방법, adb sideload를 활용한 업데이트 및 롬 설치 방법, 그리고 자주 발생하는 오류와 해결 방법에 대해 살펴보았습니다. ADB는 매우 강력한 도구이지만, 올바르게 설정하고 문제를 해결하는 방법을 이해하면 더욱 효과적으로 사용할 수 있습니다.

반응형