개발 환경

Chromebook에서 Android 앱을 실행할 수 있다는 것은 멋진 일입니다. 이를 통해 사용자는 방대한 Android 생태계 제품을 이용하고 Android 개발자는 ChromeOS 사용자에게 다가갈 수 있습니다.

ChromeOS는 Android 개발자에게 Chromebook에서 앱을 배포하고 테스트할 수 있는 도구를 제공합니다. 사용자 환경을 개선하려면 다양한 폼 팩터에서 앱을 인증하세요.

ChromeOS에서 직접 Android 앱을 배포하든(Chromebook에서 Android 스튜디오를 사용) 다른 기기에서 배포하든 Android 디버그 브리지를 사용하여 앱을 배포하고 Chromebook과의 다양한 상호작용을 디버그할 수 있습니다. 자세한 내용은 다음 단계를 참고하세요.

ADB 디버깅 사용 설정

이전에는 개발자 모드에서만 Chromebook에서 ADB를 사용할 수 있었습니다. Chrome 81부터 개발자는 기기의 개발자 모드를 사용하지 않고 개발한 앱을 ChromeOS에서 직접 배포할 수 있습니다. 방법은 다음과 같습니다.

  1. Chromebook이 개발자 모드가 아닌지 확인합니다.
  2. 이전에 사용 설정하지 않은 경우 설정으로 이동하여 Linux를 사용 설정합니다.

  3. Linux를 사용할 수 있게 되면 Linux 설정을 엽니다.

  4. Develop Android apps 옵션을 엽니다.

  5. ADB 디버깅 사용 설정을 전환합니다. Chromebook이 다시 시작됩니다.

  6. Chromebook이 다시 시작되면 기기의 앱 스토어에서 다운로드되지 않은 애플리케이션이 있을 수 있음을 알리는 메시지가 표시됩니다.

  7. 이제 ADB를 사용하여 Chromebook에 앱을 배포하고 디버깅 명령어를 실행하며 기기와 직접 상호작용할 수 있습니다.

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

  • ARM 기반 Chromebook
  • x86 기반 Chromebook
  • 터치스크린이 있는 기기와 터치스크린이 없는 기기
  • 노트북과 태블릿 간에 변경되는 컨버터블 기기
  • 스타일러스가 있는 기기

ChromeOS에서 배포

ADB 디버깅을 사용 설정한 후 Android 스튜디오를 사용하여 ChromeOS 기기에 직접 Android 앱을 로드할 수 있습니다. APK (Android Package Kit)가 있는 경우 터미널을 사용하여 로드할 수 있습니다. 이러한 옵션은 다음 섹션에 설명되어 있습니다.

Android 스튜디오를 사용하여 배포

이 가이드에 설명된 대로 Android 스튜디오와 ADB를 설정한 후에는 Android 스튜디오에서 직접 앱을 Chromebook의 Android 컨테이너로 푸시할 수 있습니다. Chromebook이 기기 메뉴에 옵션으로 표시됩니다.

앱을 Chromebook으로 푸시하면 ADB 승인 대화상자가 표시됩니다. 권한을 부여하면 애플리케이션이 새 창에서 실행됩니다.

이제 앱을 Chromebook에 배포하고 테스트하고 디버그할 수 있습니다.

터미널을 사용하여 배포

터미널을 사용하여 Chromebook에 앱을 배포하려면 다음 단계를 따르세요.

  1. 필요한 경우 다음 명령어를 사용하여 ADB를 설치합니다.

    sudo apt install adb
    
  2. 다음 명령어를 사용하여 기기에 연결합니다.

    adb connect arc
    
  3. USB 디버깅을 위한 승인 대화상자가 표시됩니다. 다음과 같이 승인합니다.

  4. 다음 명령어를 사용하여 터미널에서 앱을 설치합니다.

    adb install [path to your APK]
    

다른 기기에서 배포

위 방법을 사용할 수 없고 다른 기기에서 앱을 푸시해야 한다면 USB 연결이나 네트워크 주소를 사용하여 기기를 ADB에 연결하면 됩니다.

네트워크를 통해 ADB에 연결

네트워크를 통해 ADB에 연결하려면 다음 단계를 따르세요.

  1. ADB 디버깅을 사용 설정했는지 확인합니다.

  2. 다음 단계에 따라 Chromebook의 IP 주소를 확인합니다.

    • 화면의 오른쪽 하단에 있는 시계를 클릭합니다.
    • 톱니바퀴 아이콘을 클릭합니다.
    • 연결된 네트워크 유형(예: Wi-Fi 또는 모바일 데이터)을 클릭한 다음 네트워크 이름을 클릭합니다.
    • IP 주소를 기록해 둡니다.

Chromebook에 연결합니다.

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

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

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

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

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

USB를 통해 ADB에 연결

다른 기기의 APK를 Chromebook으로 푸시하려면 ChromeOS를 개발자 모드에서 시작해야 Chromebook을 구성하고 호스트 머신에서 앱을 푸시할 수 있습니다.

개발자 모드로 전환하려면 다음 단계를 따르세요.

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

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

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

    $ sudo ectool usbpd <port number> dr_swap
    

USB 케이블을 제거했다가 다시 연결할 때마다 이 명령어를 사용합니다. Chromebook이 업스트림 포트 (UFP) 모드인지 확인하려면 ectool usbpd <port number>를 실행하면 됩니다.

ADB 세션을 설정하려면 다음 단계를 따르세요.

  1. USB 케이블을 기기의 지원되는 포트에 연결합니다.
  2. 호스트 머신의 Android SDK 플랫폼 도구에서 adb devices를 실행하여 Chromebook이 ADB 지원 기기로 나열되는지 확인합니다.
  3. Chromebook에서 디버거를 허용하라는 메시지가 표시되면 허용을 클릭합니다. ADB 세션이 설정됩니다.