App-Unterstützung für ChromeOS-Geräte

Mit dem Google Play Store können Sie Android-Apps auf verschiedenen Chromebooks In diesem Dokument werden die Chromebooks, Chromeboxes und Chromebases, auf denen Android-Apps installiert werden können

Übersicht

Die meisten Android-Smartphones haben ARM-Chipsätze. Viele ChromeOS-Geräte verwenden jedoch x86-Chips. Der Unterschied ist für einfache Anwendungen, die in Kotlin oder Java geschrieben wurden, nicht wichtig. Für Apps, die in nativem Code geschrieben sind, einschließlich Apps, die mit Spielen erstellt wurden, kann der Chipsatz im Gerät ein wichtiges Problem sein.

Idealerweise bieten alle Apps und Spiele mit nativem Code alle vier wichtigen Android- ABIs (Application Binary Interfaces): armeabi-v7a (arm32), arm64-v8a (arm64), x86 (x86_32) und x86_64. Damit erzielen Sie die beste Leistung. und den niedrigsten Akkuverbrauch für jedes Gerät. Beispiel: eine cmake-basierte build.gradle Datei kann Folgendes enthalten:

Cool

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

Kotlin

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

Größe des Android Package Kits (APK)

Jede ABI in einem monolithischen APK vergrößert ihre Größe. Dies kann sich auf die Laufwerksnutzung der Nutzer, die Downloadgröße der App und ob die App betroffen ist Größenbeschränkungen im Play Store nicht überschritten werden. Dies lässt sich am besten vermeiden, Android App Bundles

App Bundles können Sie alle vier ABIs in Android Studio zusammenfassen, Downloadgröße für Ihre Nutzer. Sie erleichtern auch die Nutzung der Vorteile von Dynamic Delivery, Nutzer können große Spielinhalte nur auf Anfrage herunterladen. Wenn keine App Bundles können Sie die älteren Multi-APKs ähnliches Verhalten.

32-Bit- und 64-Bit-Builds

Für alle Android-Apps muss eine 64-Bit-Build-Version bereitgestellt werden. Ein 32-Bit-Build ist sowohl für ARM als auch x86-Geräte. Weitere Informationen finden Sie in der Android 64-Bit-Version in der Dokumentation.

Wenn Sie nur 64-Bit-Builds bereitstellen, reduziert sich die Anzahl der benötigten Build-Ziele und Testoberfläche, schränkt die Anzahl der Geräte ein, auf denen dein Spiel laufen kann. Für Aufgrund anderer Hardwareeinschränkungen können viele ältere Chromebooks beispielsweise nur die 32-Bit-Version von Android auch wenn sie 64-Bit-CPUs haben. Damit deine App auf diesen Geräten ausgeführt werden kann, musst du Folgendes angeben: 32- und 64-Bit-Unterstützung.

ARM-Übersetzung

x86 Chromebooks versuchen, ARM-Code zu übersetzen. Übersetzung beeinträchtigt die Leistung und erhöht den Akkuverbrauch. Für den optimalen Nutzer x86-Builds bereitstellen. Wenn nicht, fügen Sie die ABIs für arm32 und arm64 in da einige x86-Chromebooks den arm64-Code nicht übersetzen.

Die arm32-Übersetzung ist zwar für alle Android-fähigen Chromebooks verfügbar, aber nicht für alle Chromebooks. kann arm64-Code übersetzen. Wenn Ihr Spiel also nur Arm64-Build-Ziele hat, für eine große Anzahl von ChromeOS-Geräten nicht verfügbar. Wenn Sie nicht versenden können x86-Binärdateien, füge sowohl arm32- als auch arm64-ABIs in deine Builds ein.

Berücksichtigte ABIs Unterstützung für ChromeOS
Arm64 Schlecht
arm32 und arm64 Ok (mit Übersetzung)
arm32, arm64, x86_32 und x86_64 Höchstes Tempo