64-Bit-Version von ARCore erforderlich

Im August 2020 haben die Google Play-Dienste für AR (ARCore) auf einigen 64-Bit-Geräten die Unterstützung für 32-Bit-Apps eingestellt. Der Support für ARCore-fähige 32-Bit-Apps auf den verbleibenden 64-Bit-Geräten kann in einer zukünftigen ARCore-Version ohne vorherige Ankündigung entfernt werden. Nur 32-Bit-ARCore-fähige Apps, die auf 32-Bit-Geräten ausgeführt werden, sind davon nicht betroffen und werden weiterhin unterstützt.

Wenn du eine reine 32-Bit-Version (z.B. armeabi-v7a) deiner ARCore-fähigen App ohne eine entsprechende 64-Bit-Version (arm64-v8a) für 64-Bit-Geräte zu veröffentlichen, musst du deine App mit einer kompatiblen 64-Bit-Version für 64-Bit-Geräte aktualisieren.

Nicht aktualisierte ARCore-fähige 32-Bit-Apps können keine ARCore-Sitzung erstellen und möglicherweise abstürzen, wenn auf betroffenen 64-Bit-Geräten eine Augmented-Reality-Sitzung gestartet wird.

Wenn Sie das Attribut android:use32bitAbi="true" in der AndroidManifest.xml Ihrer App festlegen, verwendet Ihre App nur 32-Bit-Bibliotheken. Bei allen AR-Funktionen in deiner App wird versucht, ARCore im 32-Bit-Modus zu verwenden. Die 32-Bit-Bibliotheken sind in den Google Play-Diensten für AR jedoch auf einigen 64-Bit-Geräten nicht vorhanden. Ohne diese Bibliotheken kann Ihre App keine ARCore-Sitzung erstellen und möglicherweise abstürzen, wenn Sie versuchen, auf diesen betroffenen 64-Bit-Geräten eine Augmented Reality-Sitzung (AR-Sitzung) zu starten. Dies betrifft sowohl native AR- als auch WebXR-basierte AR-Funktionen in einer WebView-Komponente.

Google Play Store – 64-Bit-Anforderung

Die im vorherigen Abschnitt beschriebene 64-Bit-Anforderung von ARCore gilt für alle 64-Bit-Geräte, unabhängig von der Android-Version und dem API-Level. Diese Anforderung ist separat und steht in keinem Zusammenhang mit der 64-Bit-Anforderung von Google Play, die am 1. August 2019 in Kraft getreten ist. Sie wird auf App-Release-Ebene ausgewertet und gilt nur für APKs oder App Bundles, die auf Geräten mit Android 9 Pie (API-Level 28) oder höher vertrieben werden.

Unterstützung von ARCore ABI

Mit ARCore können Sie Apps erstellen, die die folgenden Android-ABIs unterstützen:

Wenn du eine ARCore-fähige App erstellst, enthält das Android-Build-System eine oder mehrere native ARCore-Bibliotheken (lib/…/libarcore_sdk*.so) für die Android-ABIs, auf die deine App ausgerichtet ist.

Bisher konnten ausschließlich 32-Bit-ARCore-fähige Apps sowohl auf 32-Bit- als auch auf 64-Bit-Geräten ausgeführt werden. Im August 2020 wurden die Google Play-Dienste für AR (ARCore) eingestellt. Das gilt auch für native 32-Bit-Bibliotheken auf einigen 64-Bit-Geräten. Auf diesen 64-Bit-Geräten konnten ab diesem Zeitpunkt keine ARCore-fähigen 32-Bit-Apps mehr ausgeführt werden. In einer zukünftigen Version wird die Unterstützung für ARCore-fähige 32-Bit-Apps auch ohne vorherige Ankündigung von den restlichen 64-Bit-Geräten entfernt.

Nicht aktualisierte 32-Bit-ARCore-fähige Apps erstellen keine Sitzung und stürzen möglicherweise ab, wenn Sie auf betroffenen 64-Bit-Geräten eine Augmented-Reality-Sitzung (AR-Sitzung) starten möchten:

ARCore SDK Details zum Fehler beim Erstellen der Sitzung
ARCore SDK for Android (NDK) ArSession_create und ArSession_createWithFeatures geben AR_ERROR_FATAL zurück.
ARCore SDK für Android (Java) Die Sitzungskonstruktoren Session(Context) und Session(Context, Set<Session.Feature>) geben eine FatalException aus.
ARCore SDK für Unity Wenn du die Komponente ARCoreSession aktivierst, die normalerweise auf der Voreinstellung des ARCore-Geräts zu finden ist, kann ARCore keine ARCore-Sitzung erstellen und Session.Status ist SessionStatus.FatalError.
AR Foundation (Unity)
+ ARCore XR-Plug-in
Das Rendern wird beendet (schwarzer Bildschirm), wenn die App versucht, eine AR-Sitzung zu starten. Grund dafür ist ein Absturz im Hauptthread beim Laden nicht vorhandener nativer 32-Bit-ARCore-Bibliotheken.

Bestimmen, ob Ihre App aktualisiert werden muss

So prüfen Sie, ob Ihre veröffentlichte App die erforderlichen nativen ARCore-Bibliotheken zur Unterstützung von 64-Bit-Geräten enthält:

  1. Öffnen Sie die Google Play Console.

  2. Wählen Sie Ihre ARCore-fähige App aus.

  3. Erweitern Sie den aktiven Release der App, um zu prüfen, ob die nativen Plattformen 64-Bit-Unterstützung (arm64-v8a) umfassen.

App für 64-Bit-Geräte aktualisieren

So aktualisieren Sie eine vorhandene ARCore-fähige 32-Bit-App, um native 64-Bit-Bibliotheken hinzuzufügen:

  1. Aktualisieren Sie Ihr Projekt, um das neueste ARCore SDK zu verwenden.

  2. Erstelle deine App und veröffentliche sie mit der Google Play Console.

Google Play überprüft, ob Ihre App die 64-Bit-Anforderung für den Google Play Store erfüllt, die am 1. August 2019 in Kraft getreten ist. So sorgst du dafür, dass deine ARCore-fähige App für alle 64-Bit-Geräte 64-Bit (arm64-v8a) unterstützt, unabhängig von der Android-Version oder dem API-Level.