Google은 흑인 공동체를 위한 인종 간 평등을 진전시키기 위해 노력하고 있습니다. Google에서 어떤 노력을 하고 있는지 확인하세요.

Chrome OS 기기의 앱 지원

Google Play 스토어를 사용하여 여러 Google Chromebook에 Android 앱을 설치할 수 있습니다. 이 문서에서는 Android 앱을 설치할 수 있는 Chromebook, Chromebox 및 Chromebase에 관해 설명합니다.

개요

대부분의 Android 휴대전화에는 ARM 칩셋이 있습니다. 그러나 많은 Chrome OS 기기는 x86 칩을 사용합니다. Kotlin 또는 자바로 작성된 기본 앱에서는 이 차이가 중요하지 않습니다. 그러나 게임 엔진으로 만든 앱을 비롯하여 네이티브 코드로 작성된 앱의 경우 기기의 칩셋이 중요한 문제가 될 수 있습니다.

이상적으로는 네이티브 코드가 있는 앱 및 게임은 모두 네 가지 주요 Android ABI(Application Binary Interface) 즉, armeabi-v7a(arm32), arm64-v8a(arm64), x86(x86_32) 및 x86_64와 함께 제공되어야 합니다. 이렇게 하면 각 기기에서 최고의 성능을 구현하고 배터리 소모를 최소화할 수 있습니다. 예를 들어 cmake 기반 build.gradle 파일에는 다음이 포함될 수 있습니다.

externalNativeBuild {
  cmake {
    abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
  }
}

APK 크기

모놀리식 APK의 각 ABI는 크기를 늘립니다. 이는 사용자의 디스크 사용량, 앱 다운로드 크기에 영향을 줄 수 있으며 Play 스토어 크기 제한에 위배될 수 있습니다. 이를 방지하는 가장 좋은 방법은 Android App Bundle을 사용하는 것입니다. App Bundle을 사용하면 Android 스튜디오 내에서 4개의 ABI를 모두 쉽게 번들로 묶을 수 있지만 사용자의 다운로드 크기가 증가하지는 않습니다. 또한 Dynamic Delivery를 쉽게 활용할 수 있으므로 사용자는 요청 시에만 대용량 게임 콘텐츠를 다운로드할 수 있습니다. App Bundle을 사용할 수 없다면 유사한 동작을 위해 이전의 다중 APK를 사용할 수 있습니다.

32비트 및 64비트 빌드

모든 Android 앱은 64비트 빌드 버전을 제공해야 합니다. 32비트 빌드는 ARM 및 x86 기기 모두에서 선택사항입니다. 자세한 내용은 Android 64비트 문서⁠를 참조하세요.

64비트 빌드만 제공하면 필요한 빌드 타겟 수와 테스트 표시 경로가 줄어들지만 게임을 실행할 수 있는 기기의 종류도 제한됩니다. 예를 들어 다른 하드웨어 제한으로 인해 많은 이전 Chromebook은 64비트 CPU가 있더라도 32비트 Android 앱만 실행할 수 있습니다. 앱이 이러한 기기에서 실행될 수 있도록 하려면 32비트 및 64비트 지원을 모두 포함해야 합니다.

ARM 변환

x86 Chromebook은 가능할 때마다 ARM 코드를 변환하려고 하지만 변환은 성능을 저하시키고 배터리 사용량을 증가시킵니다. 최상의 사용자 환경을 위해 x86 빌드를 제공해야 합니다. 제공할 수 없다면 일부 x86 Chromebook이 arm64 코드를 변환하지 못할 수 있으므로 빌드에 arm32 및 arm64 ABI를 모두 포함해야 합니다.

arm32 변환은 모든 Android 지원 Chromebook에서 제공되지만 모든 Chromebook이 arm64 코드를 변환할 수 있는 것은 아닙니다. 즉, 게임에 arm64 빌드 타겟만 있다면 다수의 Chrome OS 기기에서 게임을 사용할 수 없습니다. x86 바이너리를 제공할 수 없다면 빌드에 arm32 및 arm64 ABI를 모두 포함해야 합니다.

포함된 ABI Chrome OS 지원
arm64 나쁨
arm32/arm64 좋음(변환 포함)
arm32/arm64/x86_32/x86_64 최고