ChromeOS デバイスのアプリサポート
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
一部の Google Chromebook の機種では、Google Play ストアを使用して Android アプリをインストールできます。このドキュメントでは、Android アプリをインストールできる Chromebook、Chromebox、Chromebase について説明します。
概要
ほとんどの Android スマートフォンには ARM チップセットが搭載されています。ただし、多くの ChromeOS デバイスでは x86 チップが使用されています。
Kotlin または Java で記述された簡単なアプリでは、この違いは重要ではありません。しかし、ネイティブ コードで記述されたアプリ(ゲームエンジンで作成されたアプリなど)では、デバイスのチップセットが重要な問題になる可能性があります。
ネイティブ コードを含むすべてのアプリとゲームが、4 つの主要な Android デバイスすべてに搭載されているのが理想的です
ABI(アプリケーション バイナリ インターフェース):
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
を使用すると、Android Studio 内から 4 つの ABI をすべて簡単にバンドルできます。
ダウンロードサイズを調整できますまた、動的配信、
ユーザーが要求された場合にのみ、サイズの大きいゲーム コンテンツをダウンロードできます。App Bundle を使用できない場合は
以前のマルチ APK を
動作しません。
32 ビットビルドと 64 ビットビルド
すべての Android アプリは 64 ビットビルド バージョンを提供する必要があります。ARM デバイスと x86 デバイスでは、32 ビットビルドの提供はオプションです。詳しくは、Android 64 ビット
ドキュメントをご覧ください。
64 ビットビルドのみを提供すると、必要なビルド ターゲットの数が減り、
また、ゲームを実行できるデバイスの種類も制限されます。
対象
たとえば、他のハードウェアの制限により、古い Chromebook の多くは 32 ビットの Android しか実行できない
多くのアプリをサポートしています。そのようなデバイスで確実にアプリを実行できるようにするには、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 |
最良 |
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は 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 |"]]