일반 시스템 이미지(GSI)는 수정되지 않은 Android 오픈소스 프로젝트(AOSP) 코드를 사용한 순수 Android 구현으로, 다양한 Android 기기에서 실행할 수 있습니다.
앱 개발자는 최신 Android GSI를 설치하고 실행하여 다양한 기존 Android 기기에서 앱 테스트를 실행할 수 있으며, 개발자 프리뷰 및 베타 빌드를 포함하여 다양한 Android OS 출시 단계의 GSI를 사용할 수 있습니다. 인증 및 테스트 프로세스에 GSI를 추가하면 몇 가지 추가 이점을 얻을 수 있습니다.
- 더 많은 실제 기기에서 테스트 범위 확대
- 앱 호환성 문제를 해결할 충분한 시간
- 앱 개발자가 신고한 Android의 호환성 문제를 해결할 충분한 기회
GSI 프로젝트는 오픈소스로, Android 각 버전이 출시되기 전에 앱 및 OS 품질을 높일 여러 방법을 제공하여 Android 생태계를 개선하는 데 도움을 줍니다.
GSI에는 GSI가 설치된 모든 기기의 동일한 핵심 시스템 기능이 포함됩니다. 즉, GSI에는 기기 제조업체의 맞춤설정이 포함되지 않습니다. 이로 인해 다음과 같은 경우에 동작 차이가 발생할 수 있습니다.
- UI와 관련된 상호작용
- 최신 하드웨어 기능을 요청하는 워크플로
기기 규정 준수 확인
GSI는 다음과 같은 특성을 가진 기기에서만 작동할 수 있습니다.
- 부트로더가 잠금 해제되었습니다.
- Treble과 완전히 호환됩니다.
- Android 9(API 수준 28) 이상을 사용하여 출시되었습니다. 이전 버전에서 Android 9로 업그레이드된 기기는 GSI를 지원할 수도 있고 지원하지 않을 수도 있습니다.
기기에서 GSI를 사용할 수 있는지, 어떤 GSI OS 버전을 설치해야 하는지 확인하려면 다음을 따르세요.
다음 명령어를 실행하여 Treble 지원을 확인합니다.
adb shell getprop ro.treble.enabled
응답이
false
인 경우 기기가 GSI와 호환되지 않으므로 계속하면 안 됩니다. 응답이true
인 경우 다음 단계를 진행합니다.다음 명령어를 실행하여 버전 간 지원을 확인합니다.
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 이미지만 로드할 수 있습니다.GSI CPU 아키텍처 유형은 기기의 CPU 아키텍처와 일치해야 합니다. GSI 이미지에 맞는 CPU 아키텍처를 찾으려면 다음 명령어를 실행하세요.
adb shell getprop ro.product.cpu.abi
출력된 값을 사용하여 기기를 플래시할 때 사용할 GSI 이미지를 확인합니다. 예를 들어 Pixel 5의 경우 출력된 값을 통해 CPU 아키텍처가
arm64-v8a
라는 것을 알 수 있으므로arm64
유형의 GSI를 사용할 수 있습니다.
GSI 다운로드
개발 요구사항에 따라 GSI를 얻는 몇 가지 방법이 있습니다.
- Android 미리보기 GSI 및 Android GSI(GMS 포함)의 경우 GSI 출시 페이지에서 이미지를 다운로드합니다.
GMS 애플리케이션 없이 사전 빌드된 GSI 이미지의 경우 AOSP CI 사이트에서 이미지를 다운로드합니다.
Android GSI(GMS 미포함)를 빌드하려면 AOSP에서 소스 코드를 다운로드하고 GSI를 빌드합니다.
GSI 설치
GSI 설치는 기기에 따라 다릅니다. 정확한 도구와 절차는 기기 제조업체에 문의하세요. Pixel 3 이상과 같은 Google Pixel 기기의 경우 다음과 같이 여러 가지 설치 방법이 있습니다.
- 수동으로 GSI 이미지 플래싱: GSI 플래싱 요구사항 참고
- Android 10 이상을 이미 실행하는 기기의 경우 동적 시스템 업데이트(DSU) 사용: 동적 시스템 업데이트 페이지 참고
의견 보내기
GSI는 Android에서 앱의 유효성을 검사하는 데 도움을 줍니다. 기기에서 GSI를 사용하는 것과 관련하여 이미지, 도구, 프로세스에 관한 의견을 보내주시면 큰 도움이 됩니다.
버그를 신고하거나 기능을 요청하려면 GSI 전용 Issue Tracker 구성요소를 사용하세요.