일반 시스템 이미지(GSI)

일반 시스템 이미지(GSI)는 수정되지 않은 Android 오픈소스 프로젝트(AOSP) 코드를 사용한 순수 Android 구현으로, 다양한 Android 기기에서 실행할 수 있습니다.

앱 개발자는 최신 Android GSI를 설치하고 실행하여 다양한 기존 Android 기기에서 앱 테스트를 실행할 수 있으며, 개발자 프리뷰 및 베타 빌드를 포함하여 다양한 Android OS 출시 단계의 GSI를 사용할 수 있습니다. 인증 및 테스트 프로세스에 GSI를 추가하면 몇 가지 추가 이점을 얻을 수 있습니다.

  • 더 많은 실제 기기에서 테스트 범위 확대
  • 앱 호환성 문제를 해결할 충분한 시간
  • 앱 개발자가 신고한 Android의 호환성 문제를 해결할 충분한 기회

GSI 프로젝트는 오픈소스로, Android 각 버전이 출시되기 전에 앱 및 OS 품질을 높일 여러 방법을 제공하여 Android 생태계를 개선하는 데 도움을 줍니다.

여러 기기에서 지원되는 GSI
그림 1: GSI는 다양한 기기에 설치할 수 있으며 때로는 기기 제조업체가 자체 시스템 이미지를 제공하지 않는 Android 버전에도 설치할 수 있음

GSI에는 GSI가 설치된 모든 기기의 동일한 핵심 시스템 기능이 포함됩니다. 즉, GSI에는 기기 제조업체의 맞춤설정이 포함되지 않습니다. 이로 인해 다음과 같은 경우에 동작 차이가 발생할 수 있습니다.

  • UI와 관련된 상호작용
  • 최신 하드웨어 기능을 요청하는 워크플로

기기 규정 준수 확인

GSI는 다음과 같은 특성을 가진 기기에서만 작동할 수 있습니다.

  • 부트로더가 잠금 해제되었습니다.
  • Treble과 완전히 호환됩니다.
  • Android 9(API 수준 28) 이상을 사용하여 출시되었습니다. 이전 버전에서 Android 9로 업그레이드된 기기는 GSI를 지원할 수도 있고 지원하지 않을 수도 있습니다.

기기에서 GSI를 사용할 수 있는지, 어떤 GSI OS 버전을 설치해야 하는지 확인하려면 다음을 따르세요.

  1. 다음 명령어를 실행하여 Treble 지원을 확인합니다.

    adb shell getprop ro.treble.enabled

    응답이 false인 경우 기기가 GSI와 호환되지 않으므로 계속하면 안 됩니다. 응답이 true인 경우 다음 단계를 진행합니다.

  2. 다음 명령어를 실행하여 버전 간 지원을 확인합니다.

    adb shell cat /system/etc/ld.config.version_identifier.txt \
    | grep -A 20 "\[vendor\]"

    출력의 [vendor] 섹션에서 namespace.default.isolated를 찾습니다.

    이 속성의 값이 true이면 기기가 공급업체 네이티브 개발 키트(VNDK)를 완전히 지원하고 기기 OS 버전보다 최신인 모든 GSI 운영체제(OS) 버전을 사용할 수 있습니다. 가능하면 제공되는 최신 GSI OS 버전을 사용하세요.

    속성 값이 false이면 기기는 VNDK와 완전히 호환되지 않으며 동일한 기기 OS 버전의 GSI만 사용할 수 있습니다. 예를 들어 VNDK와 호환되지 않는 Android 10(API 버전 29) 기기에서는 Android 10 GSI 이미지만 로드할 수 있습니다.

  3. GSI CPU 아키텍처 유형은 기기의 CPU 아키텍처와 일치해야 합니다. GSI 이미지에 맞는 CPU 아키텍처를 찾으려면 다음 명령어를 실행하세요.

    adb shell getprop ro.product.cpu.abi

    출력된 값을 사용하여 기기를 플래시할 때 사용할 GSI 이미지를 확인합니다. 예를 들어 Pixel 5의 경우 출력된 값을 통해 CPU 아키텍처가 arm64-v8a라는 것을 알 수 있으므로 arm64 유형의 GSI를 사용할 수 있습니다.

GSI 다운로드

개발 요구사항에 따라 GSI를 얻는 몇 가지 방법이 있습니다.

GSI 설치

GSI 설치는 기기에 따라 다릅니다. 정확한 도구와 절차는 기기 제조업체에 문의하세요. Pixel 3 이상과 같은 Google Pixel 기기의 경우 다음과 같이 여러 가지 설치 방법이 있습니다.

의견 보내기

GSI는 Android에서 앱의 유효성을 검사하는 데 도움을 주기 위한 것입니다. 기기에서 GSI를 사용하는 것과 관련하여 이미지, 도구, 프로세스에 관한 의견을 보내주시면 큰 도움이 됩니다.

버그를 신고하거나 기능을 요청하려면 GSI 전용 Issue Tracker 구성요소를 사용하세요.

추가 리소스