개발 환경

앱 사이드로드

테스트하기 위해 앱을 Chromebook에 사이드로드하려면 Chrome OS 기기에서 개발자 모드로 전환하여 알 수 없는 소스를 사용 설정해야 합니다. 기기를 개발자 모드로 전환하는 방법에 관한 자세한 안내는 Chrome OS 기기를 개발자 모드로 전환 문서를 참조하세요. 기기가 개발자 모드에 있으면 Chrome 설정으로 이동하여 앱의 보안 설정 아래에서 알 수 없는 소스 사용 설정을 선택할 수 있습니다.

개발자 모드를 사용 설정한 후 여러 방법 중 하나를 사용하여 Android 앱을 Chrome OS 기기에 로드할 수 있습니다. 자세한 내용은 Chromebook에서 앱 로드 페이지의 앱 로드 섹션을 참조하세요.

다양한 Chromebook 기기 및 사용 가능한 폼 팩터에서 Android 앱이 원활하게 작동하도록 하려면 다음 기기에서 앱을 테스트하는 것이 좋습니다.

  • ARM 기반 Chromebook
  • x86 기반 Chromebook
  • 터치스크린이 있는 기기와 터치스크린이 없는 기기
  • 컨버터블 기기(노트북과 태블릿 사이에서 전환할 수 있는 기기)
  • 스타일러스가 있는 기기

지원되는 기기의 전체 목록을 보려면 Chrome OS 기기의 앱 지원 페이지를 참조하세요.

ADB로 디버깅

개발용 컴퓨터의 Android 디버그 브리지(ADB)를 사용하여 Chrome OS 기기에서 실행되는 앱을 사이드로드하고 디버깅할 수 있습니다. USB 또는 네트워크 주소를 사용하여 기기를 ADB에 연결할 수 있습니다.

ADB를 사용하려면 Android 앱을 Chromebook에 사이드로드할 수 있도록 개발자 모드에서 Chrome OS를 시작해야 합니다.

개발자 모드로 시작한 후 다음 설정 단계를 완료하세요.

  1. Control + D를 눌러 기기를 시작합니다.
  2. 설정 프로세스를 완료합니다.
  3. 테스트 계정에 로그인합니다.
  4. Google Play 스토어 서비스 약관에 동의합니다.

ADB 디버깅 사용 설정

먼저 기기가 USB 디버깅을 지원하는지 확인합니다.

디버깅을 사용 설정하려면 다음 단계를 따르세요.

  1. 화면의 오른쪽 하단 영역에 있는 시계를 클릭합니다.
  2. 톱니바퀴 아이콘을 클릭합니다.
  3. Google Play 스토어 섹션을 클릭한 다음 Android 환경설정 관리를 클릭합니다. 그러면 Android 설정이 나타납니다. 나중에 더 빠르게 액세스할 수 있도록 실행기에서 설정 아이콘을 마우스 오른쪽 버튼으로 클릭하고 여기에 고정할 수 있습니다.
  4. 아래로 스크롤하여 기기 정보를 클릭합니다.
  5. 빌드 번호를 7번 클릭하여 개발자 모드로 이동합니다.
  6. 기본 설정 화면으로 돌아가려면 창의 왼쪽 상단 영역에 있는 화살표를 클릭합니다.
  7. 개발자 옵션 항목을 클릭하고 ADB 디버깅을 활성화한 다음 확인을 클릭하여 ADB 디버깅을 허용합니다.

선택적으로 다음과 같은 추가 Chrome OS용 Android 개발자 옵션을 선택할 수도 있습니다.

  • 테두리를 드래그하여 자유롭게 창 크기를 조절하도록 허용 - 이 옵션을 사용하면 앱의 창 크기를 조절할 수 있습니다. 이 옵션을 통해 앱이 창 크기 변경을 올바르게 처리하는지 확인하고 빠르고 유동적으로 크기가 조절되는지 확인할 수 있습니다.
  • 디버그 정보 - 창 제목 표시줄에 Android 애플리케이션의 디버깅 정보를 표시합니다.

USB를 통해 ADB에 연결

  1. 기기가 USB 디버깅을 지원하는지 확인합니다.
  2. Control + Alt + T를 눌러 Chrome OS 터미널을 시작합니다.
  3. shell을 입력하여 bash 명령어 셸로 이동합니다.

    crosh> shell
        chronos@localhost / $
        
  4. 다음 명령어를 입력하여 기기를 설정합니다.

    $ sudo crossystem dev_enable_udc=1
        $ sudo reboot
        
  5. 재부팅 후 터미널을 다시 열고 다음 명령어를 실행하여 Chromebook의 USB 포트에서 ADB를 사용 설정합니다.

    $ sudo ectool usbpd <port number> dr_swap
        

    USB 케이블의 연결을 끊었다가 다시 연결할 때마다 이 명령어를 사용합니다. Chromebook이 UFP 모드에 있도록 하려면 ectool usbpd <port number>를 실행합니다.

  6. USB 케이블을 기기의 지원되는 포트에 연결합니다.

  7. 호스트 컴퓨터의 Android SDK 플랫폼 도구에서 adb devices를 실행하여 Chromebook이 adb 지원 기기로 나열되는지 확인합니다.

  8. Chromebook에서 디버거를 허용할지 여부를 묻는 메시지가 표시되면 허용을 클릭합니다. ADB 세션이 설정됩니다.

네트워크를 통해 ADB에 연결

네트워크를 통해 디버깅하려면 수신 ADB 연결을 허용하도록 Chrome OS 방화벽을 구성해야 합니다.

  1. Control + Alt + T를 눌러 Chrome OS 터미널을 시작합니다.
  2. shell을 입력하여 bash 명령어 셸로 이동합니다.

    crosh> shell
        chronos@localhost / $
        
  3. 다음 명령어를 입력하여 개발자 기능을 설정하고 방화벽 설정 변경사항에 관한 디스크 쓰기 액세스를 사용 설정합니다. chronos 사용자의 sudo 비밀번호를 입력해야 하는 경우 VT-2 프롬프트(Control + Alt + →)에서 chromeos-setdevpassword를 실행하여 이 비밀번호를 (재)설정할 수 있습니다. 루트 비밀번호가 필요합니다.

    $ sudo crossystem dev_boot_signed_only=0
        $ sudo /usr/libexec/debugd/helpers/dev_features_rootfs_verification
        $ sudo reboot
        
  4. sudo reboot 명령은 Chromebook을 다시 시작합니다. Tab 키를 눌러 파일 이름의 자동 완성을 사용 설정할 수 있습니다. Chromebook에서 이 절차를 한 번만 완료해야 합니다.

기기가 다시 시작된 후 테스트 계정에 로그인하고 다음 명령어를 입력하여 보안 셸을 사용 설정하고 방화벽을 올바르게 구성합니다.

$ sudo /usr/libexec/debugd/helpers/dev_features_ssh
    

명령이 완료되면 셸을 종료할 수 있습니다.

Chromebook의 IP 주소를 가져옵니다.

  1. 화면의 오른쪽 하단 영역에 있는 시계를 클릭합니다.
  2. 톱니바퀴 아이콘을 클릭합니다.
  3. 연결되어 있는 네트워크 유형(Wi-Fi 또는 모바일 데이터)을 클릭한 다음 네트워크의 이름을 클릭합니다.
  4. IP 주소를 메모해 둡니다.

Chromebook에 연결합니다.

  1. 개발용 컴퓨터로 돌아가서 ADB를 사용하여 IP 주소로 Chromebook에 연결합니다.

    adb connect <ip_address>:22
        
  2. Chromebook에서 디버거를 허용할지 여부를 묻는 메시지가 표시되면 허용을 클릭합니다. ADB 세션이 설정됩니다.

네트워크를 통해 ADB 디버깅 문제해결

모든 항목이 제대로 연결되어 있을 때 ADB 기기가 오프라인 상태로 표시될 때가 있습니다. 이 경우 문제를 해결하려면 다음 단계를 완료하세요.

  1. 개발자 옵션에서 ADB 디버깅을 중지합니다.
  2. 터미널 창에서 adb kill-server를 실행합니다.
  3. ADB 디버깅 옵션을 재활성화합니다.
  4. 터미널 창에서 adb connect를 실행합니다.
  5. 디버깅을 허용할지 여부를 묻는 메시지가 표시되면 허용을 클릭합니다. ADB 세션이 설정됩니다.