ChromeOS 裝置對應用程式的支援

您可以使用 Google Play 商店在多台 Google Chromebook 上安裝 Android 應用程式。本文件說明可用來安裝 Android 應用程式的 Chromebook、Chromebox 和 Chromebase。

總覽

大多數 Android 手機都搭載 ARM 晶片組。不過,許多 ChromeOS 裝置使用的是 x86 晶片。 此差異對於以 Kotlin 或 Java 編寫的基本應用程式而言並不重要。不過,如果是以原生程式碼編寫的應用程式 (包括使用遊戲引擎建立的應用程式),裝置中的晶片組就可能相當重要。

理想情況下,所有包含原生程式碼的應用程式和遊戲都會隨附以下四個主要的 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 應用程式套件 (APK) 大小

單體式 APK 中的每個 ABI 都會增加其大小。這會影響使用者的磁碟用量、應用程式下載大小,以及應用程式是否受到 Play 商店的大小限制影響。如要避免這種情況,最好的方法就是使用 Android App Bundle

應用程式套件可讓您在 Android Studio 中輕鬆組合全部四個 ABI,而不會影響使用者的下載大小。而也能讓使用者輕鬆利用 Dynamic Delivery,讓使用者只有在提出要求時才能下載大型遊戲內容。如果無法執行應用程式套件,您可以使用舊版多重 APK 進行類似的行為。

32 位元和 64 位元版本

所有 Android 應用程式都必須提供 64 位元版本。ARM 和 x86 裝置皆為選用 32 位元版本。詳情請參閱 Android 64 位元說明文件

雖然僅提供 64 位元版本可減少所需的建構目標數量和測試途徑,但也會限制可執行遊戲的裝置類型。舉例來說,由於其他硬體限制,許多舊版 Chromebook 即使具備 64 位元 CPU,仍只能執行 32 位元的 Android 應用程式。為確保您的應用程式可以在這些裝置上執行,請同時支援 32 位元和 64 位元。

ARM 轉譯

x86 Chromebook 會盡可能轉譯 ARM 程式碼,但翻譯會降低效能並增加電池用量。為獲得最佳使用者體驗,請提供 x86 版本。如果您無法擷取 arm64 程式碼,則建構作業中請同時包含 arm32 和 arm64 ABI,因為部分 x86 Chromebook 可能無法轉譯 arm64 程式碼。

雖然所有 Chromebook 都能使用 arm32 翻譯,但並非所有 Chromebook 都能翻譯 arm64 程式碼。也就是說,如果遊戲只有 arm64 建構目標,大量 ChromeOS 裝置無法使用該目標。如果您無法傳送 x86 二進位檔,請在建構作業中同時納入 arm32 和 arm64 ABI。

包含的 ABI 支援 ChromeOS
arm64 欠佳
arm32 和 arm64 確定 (需要翻譯)
arm32、arm64、x86_32 和 x86_64 最佳