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 |
최고 |
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-27(UTC)"],[],[],null,["# ChromeOS device support for apps\n\nYou can use the Google Play Store to install Android apps on several Google\nChromebooks. This document describes the Chromebooks, Chromeboxes, and\nChromebases on which you can install Android apps.\n\nOverview\n--------\n\n\nMost Android phones have ARM chipsets. However, many ChromeOS devices use x86 chips.\nThe difference is not important for basic apps written in Kotlin or Java.\nHowever, for apps written in native code, including those created with game\nengines, the chipset in the device can be an important concern.\n\n\nIdeally, all apps and games with native code ship with all four major Android\n[ABIs (Application Binary Interfaces)](https://developer.android.com/ndk/guides/abis):\narmeabi-v7a (arm32), arm64-v8a (arm64), x86 (x86_32), and x86_64. This provides the best performance\nand lowest battery consumption for each device. For example, a cmake-based `build.gradle`\nfile might contain: \n\n### Groovy\n\n```groovy\nexternalNativeBuild {\n cmake {\n abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'\n }\n}\n```\n\n### Kotlin\n\n```kotlin\nexternalNativeBuild {\n cmake {\n abiFilters(\"armeabi-v7a\", \"arm64-v8a\", \"x86\", \"x86_64\")\n }\n}\n```\n\nAndroid Package Kit (APK) size\n------------------------------\n\n\nEach ABI in a monolithic APK increases its size. This can affect\nyour users' disk usage, the app download size, and whether the app is affected\nby the Play Store size limits. The best way to avoid this is to use\n[Android App Bundles](https://developer.android.com/guide/app-bundle).\n\n\nApp Bundles\nlet you easily bundle all four ABIs from within Android Studio without increasing the\ndownload size for your users. They also make it easy to take advantage of [Dynamic Delivery](https://developer.android.com/guide/app-bundle/dynamic-delivery),\nletting users download large game content only when requested. If App Bundles are not a possibility\nfor you, you can use the older [multi-APK](https://developer.android.com/google/play/publishing/multiple-apks) for\nsimilar behaviour.\n\n32-bit and 64-bit builds\n------------------------\n\n\nAll Android apps must provide a 64-bit build version. A 32-bit build is optional for both ARM and\nx86 devices. See the [Android 64-bit\ndocumentation](https://developer.android.com/distribute/best-practices/develop/64-bit) for more information.\n\n\nWhile only providing 64-bit builds reduces the number of build targets needed and your\ntesting surface, it also limits the kinds of devices that can run your game.\nFor\nexample, due to other hardware limitations, many older Chromebooks can only run 32-bit Android\napps, despite having 64-bit CPUs. To ensure your app can run on these devices, include\nboth 32 and 64-bit support.\n\nARM translation\n---------------\n\n\nx86 Chromebooks try to translate ARM code whenever possible, but\ntranslation slows performance and increases battery usage. For the best user\nexperience, provide x86 builds. If you can't, then include both arm32 and arm64 ABIs in\nyour builds, because some x86 Chromebooks might not translate arm64 code.\n\n\nAlthough arm32 translation is available on all Android-capable Chromebooks, not all Chromebooks\ncan translate arm64 code. This means that if your game only has arm64 build targets,\nit isn't available for a large number of ChromeOS devices. If you are unable to ship\nx86 binaries, include both arm32 and arm64 ABIs in your builds.\n\n| Included ABIs | Support for ChromeOS |\n|----------------------------------|-----------------------|\n| arm64 | Poor |\n| arm32 and arm64 | OK (with translation) |\n| arm32, arm64, x86_32, and x86_64 | Best |"]]