Hinweise für die Veröffentlichung

Die meisten Android-Smartphones haben ARM-Chipsätze. Viele ChromeOS-Geräte verwenden jedoch x86-Chips. Der Unterschied ist für Apps, die in Kotlin oder Java geschrieben wurden, nicht wichtig. Bei Apps, die mit dem Android NDK geschrieben wurden, einschließlich solcher, die mit Game-Engines erstellt wurden, kann der Chipsatz im Gerät jedoch ein wichtiger Faktor sein.

Im Idealfall werden alle Apps mit Android NDK-Code mit allen vier wichtigen Android-ABIs (Application Binary Interfaces) ausgeliefert: armeabi-v7a (arm32), arm64-v8a (arm64), x86 (x86_32) und x86_64.

So werden für jedes Gerät die beste Leistung und der geringste Akkuverbrauch erzielt. Eine CMake-basierte build.gradle-Datei kann beispielsweise Folgendes enthalten:

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

APK-Größe

Jede ABI in einem monolithischen APK erhöht die Größe. Dies kann sich auf die Festplattennutzung Ihrer Nutzer und die Downloadgröße der App auswirken und möglicherweise die Größenbeschränkungen des Play Store überschreiten. Am besten verwenden Sie Android App Bundles, um das zu vermeiden. Mit App Bundles können Sie ganz einfach alle vier ABIs in Android Studio bündeln, ohne dass sich die Downloadgröße für Ihre Nutzer erhöht. Außerdem wird die Nutzung von Dynamic Delivery erleichtert, sodass Nutzer große Spielinhalte nur bei Bedarf herunterladen können. Wenn Sie keine App Bundles verwenden können, können Sie das ältere Multi-APK für ein ähnliches Verhalten nutzen.

32-Bit- und 64-Bit-Versionen

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

Wenn Sie nur 64‑Bit-Builds bereitstellen, verringert sich die Anzahl der erforderlichen Build-Ziele und die Testfläche. Allerdings wird dadurch auch die Anzahl der Geräte eingeschränkt, auf denen Ihr Spiel ausgeführt werden kann. Aufgrund anderer Hardwarebeschränkungen können viele ältere Chromebooks beispielsweise nur 32‑Bit-Android-Apps ausführen, obwohl sie 64‑Bit-CPUs haben. Damit Ihre App auf diesen Geräten ausgeführt werden kann, müssen Sie sowohl 32‑ als auch 64‑Bit-Unterstützung einbinden.

Hinweis:Alle neuen und aktualisierten Apps müssen eine 64-Bit-App-Version enthalten. Im Play Store werden keine 32‑Bit-Apps mehr für Geräte angeboten, die 64‑Bit-Apps ausführen können. Viele Chromebooks unterstützen 64-Bit-Apps. Wir empfehlen, Ihre App so schnell wie möglich zu aktualisieren, damit sie auch eine 64-Bit-Version enthält. So können Sie dafür sorgen, dass Nutzer Ihrer App unter ChromeOS sie weiterhin verwenden können.

ARM-Übersetzung

x86-Chromebooks versuchen, ARM-Code nach Möglichkeit zu übersetzen. Die Übersetzung verlangsamt jedoch die Leistung und erhöht die Akkunutzung. Auch bei einfachen Spielen sollten x86-Builds für eine optimale Nutzererfahrung bereitgestellt werden. Wenn Sie keine x86-Builds bereitstellen können, beachten Sie, dass einige x86-Chromebooks arm64-Code nicht übersetzen können. In diesem Fall sollten Sie sowohl arm32- als auch arm64-ABIs in Ihre Builds aufnehmen.

Die arm32-Übersetzung ist auf allen Android-fähigen Chromebooks verfügbar, die Übersetzung von arm64-Code ist jedoch nicht auf allen Chromebooks möglich. Wenn Ihr Spiel nur arm64-Build-Ziele hat, ist es also nicht für eine große Anzahl von ChromeOS-Geräten verfügbar. Wenn Sie keine x86-Binärdateien bereitstellen können, müssen Sie sowohl arm32- als auch arm64-ABIs in Ihre Builds aufnehmen.

                                                                               
Enthaltene ABIsUnterstützung für ChromeOS

arm64

Schlecht

arm32/arm64

OK (mit Übersetzung)

arm32/arm64/x86_32/x86_64

Am besten