2020年八月,谷歌播放服務AR(ARCORE)為32位僅在某些64位應用程序的設備不再支持。在即將發布的 ARCore 版本中,對剩餘 64 位設備上僅支持 32 位 ARCore 的應用程序的支持可能會被移除,恕不另行通知。在 32 位設備上運行的僅支持 32 位 ARCore 的應用程序不受影響並繼續受支持。
如果你發布了32位只(例如, armeabi-v7a
)啟用了ARCORE-應用版本沒有發布相應的64位( arm64-v8a
64位器件)版本,則必須用兼容的更新您的應用64 位設備的 64 位版本。
32位只啟用ARCORE未更新,將無法創建一個會話的Arcore並試圖啟動一個增強現實(AR),受影響的64位設備會話時可能會崩潰的應用程序。
如果你設置android:use32bitAbi="true"
在應用程序的屬性AndroidManifest.xml
,您的應用程序將只使用32位庫。您應用中的任何 AR 體驗都將嘗試在 32 位模式下使用 ARCore。然而,32位的庫將不會出現在谷歌的Play服務為現實業務上的一些64位的設備。如果沒有這些庫,您的應用將無法創建 ARCore 會話,並且在這些受影響的 64 位設備上嘗試啟動增強現實 (AR) 會話時可能會崩潰。這會影響 WebView 組件內的原生 AR 體驗和基於 WebXR 的 AR 體驗。
Google Play 商店 64 位要求
上一節中描述的 ARCore 64 位要求適用於所有 64 位設備,無論 Android 版本和 API 級別如何。這個要求是不同的,並沒有涉及到谷歌播放64位的要求,即開始生效。2019年8月1,這是在應用程序釋放水平評估中分發到運行Android 9餡餅設備和僅適用於APK或應用程序包(API 級別 28)或更高版本。
了解 ARCore ABI 支持
ARCORE使您能夠構建支持以下應用程序的Android的ABI :
32位(例如,
armeabi-v7a
)和64位(arm64-v8a
)應用包含的目標物理ARCORE支持的設備32位(
x86
)和64位(x86_64
)應用程式內該運行Android模擬器
當你建立一個支持ARCORE-應用程序,Android編譯系統包括一個或多個ARCORE本地庫( lib/…/libarcore_sdk*.so
)針對Android的ABI針對您的應用。
之前僅支持 32 位 ARCore 的應用程序可以在 32 位和 64 位設備上運行。八月2020 AR(ARCORE)谷歌遊戲服務停止包括32位上的一些64位的設備機庫,此時僅32位啟用ARCORE,應用程序不再能夠對受影響的64位設備上運行。在未來的版本中,對僅支持 32 位 ARCore 的應用程序的支持也可能會從其餘 64 位設備中刪除,恕不另行通知。
32位只ARCORE啟用未更新,將無法創建一個會話,並試圖對受影響的64位器件啟動一個增強現實(AR)會話時可能會崩潰,特別是應用程序:
ARCore SDK | 會話創建失敗詳情 |
---|---|
適用於 Android 的 ARCore SDK (NDK) | ArSession_create 和ArSession_createWithFeatures 將返回AR_ERROR_FATAL 。 |
適用於 Android (Java) 的 ARCore SDK | 會話構造, Session(Context) 和Session(Context, Set<Session.Feature>) 將拋出FatalException 。 |
適用於 Unity 的 ARCore SDK | 當您啟用ARCoreSession 組件,這通常是在發現ARCORE設備預製,ARCORE將無法創建一個會話的Arcore和Session.Status 將SessionStatus.FatalError 。 |
AR 基金會 (Unity) + ARCORE XR插件 | 當應用程序嘗試啟動 AR 會話時,應用程序將停止渲染(黑屏),這是由於主線程在嘗試加載不存在的 32 位 ARCore 原生庫時崩潰。 |
確定您的應用程序是否必須更新
要檢查您發布的應用程序是否包含支持 64 位設備所需的原生 ARCore 庫:
打開谷歌遊戲控制台。
選擇支持 ARCore 的應用。
擴大應用的活性劑的釋放,以驗證本機平台包括64位(
arm64-v8a
)的支持。
更新您的應用以支持 64 位設備
要更新現有的僅支持 32 位 ARCore 的應用程序以包含 64 位本機庫:
更新項目中使用最新的ARCORE SDK 。
構建應用程序,並使用發布谷歌遊戲控制台。
谷歌比賽將驗證您的應用是否符合谷歌Play商店的64位的要求,以前生效的2019年8月1日,為了確保您能ARCORE,應用程序包括64位( arm64-v8a
所有64位)支持設備,無論 Android 版本或 API 級別如何。