본문 바로가기

모바일 디바이스/루팅 및 커스텀 펌웨어

루팅과 펌웨어 업데이트를 위한 ADB / fastboot 설치와 사용

출처: https://wiki.lineageos.org/adb_fastboot_guide.html

ADB란 무엇인가?

ADB는 Android Debug Bridge의 약자로 개발 툴입니다. 안드로이드 디바이스와 개인 PC(맥, 윈도우, 리눅스)간에 통신을 도와주는 프로그램입니다. 주로 USB로 연결되며 일부 버전에서는 WIFI로 연결도 됩니다. ADB는 안드로이드 개발에서 수많은 기능들을 가지고 있어서 다양한 방식으로 활용되고 있습니다. 자세한 기능은 adb --help 명령어로 확인 할 수 있습니다. 자주 사용하는 기능은 맨 아래 내용을 참조하시면 됩니다.

ADB와 fastboot 설치

구글에서 adb와 fastboot가 포함된 zip 파일을 배포하고 있습니다. 

On Windows

  1. 오른쪽 첨부를 다운받고 Windows zip from Google.
  2. 원하는 곳에 압축을 풀어주세요. 예를들면 오른쪽과 같이 사용자 폴더 아래에 %USERPROFILE%\adb-fastboot
  3. Windows 7/8 에서는
    • 바탕화면 데스크톱 아이콘에서 마우스 오른쪽을 누른 후 속성을 선택
    • 시스템 속성 윈도우에서 고급 탭 선택
    • 고급 섹션에서 환경변수 버튼 선택
    • 환경변수 윈도우에서 Path 를 선택하면 하이라이트 표시가 되고 이때 편집 버튼 클릭
    • 줄 마지막에 오른쪽 내용 추가 ;%USERPROFILE%\adb-fastboot\platform-tools
      (semi-colon이 각 경로를 구분해줍니다.)
  4. Windows 10 에서는
    • 시작 메뉴를 열고 "고급 시스템 설정 보기" 타이핑 후 실행
    • 시스템 속성 윈도우에서 고급 탭 선택
    • 고급 섹션에서 환경변수 버튼 선택 
    • 환경변수 윈도우에서 Path 를 선택하면 하이라이트가 표시가 되고 이때 편집 버튼 클릭
    • 새로만들기 누른 후 오른쪽 내용 추가 %USERPROFILE%\adb-fastboot\platform-tools
  5. universal adb driver 설치 후 재부팅

 

On macOS

  1. 오른쪽 첨부를 다운받고 macOS zip from Google.
  2. 원하는 곳에 압축 해제 - 예를들면 ~/adb-fastboot.
  3. 오른쪽 파일에 아래 내용을 추가해줌 ~/.bash_profile:

    if [ -d "$HOME/adb-fastboot/platform-tools" ] ; then export PATH="$HOME/adb-fastboot/platform-tools:$PATH" fi

  4. 로그아웃 후 다시 로그인

On Linux

  1. 오른쪽 첨부를 다운받고 Linux zip from Google.
  2. 원하는 곳에 압축 해제 - 예를들면 ~/adb-fastboot.
  3. 오른쪽 파일에 아래 내용을 추가해줌 ~/.profile:

    if [ -d "$HOME/adb-fastboot/platform-tools" ] ; then export PATH="$HOME/adb-fastboot/platform-tools:$PATH" fi

  4. 로그아웃 후 다시 로그인
  5. 아마도 오른쪽 udev도 설치 필요. 해당 this repository 에 추가 내용 확인할 것

Setting up adb

장치에 adb를 사용하기 위해서는 장치 개발자 옵션에서 USB 디버깅(debugging) 옵션을 활성화 해주어야 합니다.

  1. 설정에서 "정보(About)" 을 선택
  2. "빌드번호(Build number)" 를 7번 연속하여 탭 
  3. 뒤로 돌아가서 "개발자 옵션(Developer options)" 을 선택
  4. 스크롤을 내려서 “안드로이드 디버깅(Android debugging)” 또는 “USB 디버깅(debugging)” 항목을 활성화
  5. 장치를 컴퓨터와 연결 (데이터 통신 가능한 usb 케이블 이용)
  6. 컴퓨터에서 터미널/명령 프롬프트(command prompt) 에 들어간 후 adb devices 를 입력해서 연결 확인
  7. 장치 화면에 usb 디버깅을 허락하겠냐는 메세지가 뜨면 항상 허락을 체크하고 OK를 누르면 연결됨

이제 adb가 장치와 연결되서 사용 가능합니다! 

Setting up fastboot

장치가 fastboot를 지원할 경우 fastboot mode로 재부팅 하고 컴퓨터로 연결한 후 터미널/명령 프롬프트에서 fastboot devices 를 입력하면 연결되있음을 확인 할 수 있습니다.

fastboot mode 진입은 방법은 장치마다 다르며 보통 전원을 켤 때 특정 키를 누르면 됩니다. 아니면 adb가 연결된 상태에서 adb reboot fastboot 를 입력하면 됩니다.

삼성 갤럭시 안드로이드폰의 경우 fastboot 모드와 유사한 Download mode 모드로 진입하며 fastboot 명령어가 아닌 odin 으로 롬 라이팅을 진행해야 합니다.

  • adb shell - 장치에 shell 연결
  • adb push <local> <remote> - <local>에 있는 파일을 <remote> 위치에 복사
  • adb pull <remote> [<local>] - <remote> 에 있는 파일을 <local> 에 복사. <local>폴더를 지정하지 않으면 현재 폴더에 복사
  • adb logcat - 장치의 실시간 로그를 보여줌. You can use adb logcat -b radio to view radio logs, and adb logcat -C to view logs in colour
  • adb install <file> - 지정한 .apk 파일을 장치에 설치함