ChromeOS 기기의 앱 지원

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

개요

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

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

Groovy

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

Kotlin

externalNativeBuild {
    cmake {
        abiFilters("armeabi-v7a", "arm64-v8a", "x86", "x86_64")
    }
}

Android Package Kit (APK) 크기

모놀리식 APK의 각 ABI는 크기를 늘립니다. 이는 사용자의 디스크 사용량, 앱 다운로드 크기, 앱이 영향을 받는지 여부 크기를 제한하지 않습니다. 이를 방지하는 가장 좋은 방법은 Android App Bundle을 사용하는 것입니다.

App Bundle ABI를 키우지 않고도 Android 스튜디오 내에서 네 가지 ABI를 모두 쉽게 사용자를 위해 다운로드 크기를 조절하는 것입니다. 또한 Dynamic Delivery를 쉽게 활용할 수 있으며 사용자가 요청할 때만 대용량 게임 콘텐츠를 다운로드하도록 허용합니다. App Bundle을 사용할 수 없는 경우 이전 다중 APK를 확인할 수 있습니다.

32비트 및 64비트 빌드

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

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

ARM 변환

x86 Chromebook은 가능할 때마다 ARM 코드를 변환하려고 하지만 변환은 성능을 저하시키고 배터리 사용량을 증가시킵니다. 최고의 사용자용 x86 빌드를 제공하세요 그렇게 할 수 없다면 arm32와 arm64 ABI를 모두 일부 x86 Chromebook은 arm64 코드를 변환하지 않을 수 있기 때문입니다.

arm32 변환은 모든 Android 지원 Chromebook에서 사용할 수 있지만, 일부 Chromebook은 지원되지 않습니다. arm64 코드를 번역할 수 있습니다 즉, 게임에 arm64 빌드 타겟만 있는 경우 많은 ChromeOS 기기에서 사용할 수 없습니다. x86 바이너리를 제공할 수 없다면 빌드에 arm32 및 arm64 ABI를 모두 포함해야 합니다.

포함된 ABI ChromeOS 지원
arm64 나쁨
arm32 및 arm64 좋음(변환 포함)
arm32, arm64, x86_32, x86_64 최고