ARCore 64 位要求
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
2020 年 8 月,面向 AR 的 Google Play 服务 (ARCore) 不再支持在某些 64 位设备上仅支持 32 位架构。在即将推出的 ARCore 版本中,我们可能会取消对其余 64 位设备上仅支持 32 位 ARCore 的应用的支持,恕不另行通知。在 32 位设备上运行仅支持 32 位的 ARCore 的应用不受影响,并且会继续获得支持。
如果您发布了仅限 32 位架构(例如,armeabi-v7a
) 版本,但未针对 64 位设备发布对应的 64 位 (arm64-v8a
) 版本,那么您必须将应用更新为适用于 64 位设备的兼容 64 位版本。
如果支持 32 位架构的应用未更新,并且仅支持 32 位架构,则无法创建 ARCore 会话,并且在尝试在其受影响的 64 位设备上启动增强现实 (AR) 会话时,可能会崩溃。
如果您在应用的 AndroidManifest.xml
中设置 android:use32bitAbi="true"
属性,应用将仅使用 32 位库。您的应用中的所有 AR 体验都将尝试在 32 位模式下使用 ARCore。不过,在某些 64 位设备上,32 位库不会出现在面向 AR 的 Google Play 服务服务中。如果没有这些库,您的应用将无法创建 ARCore 会话,并且在尝试在这些 64 位设备上启动增强现实 (AR) 会话时,应用可能会崩溃。这会影响 WebView 组件内的原生 AR 体验和基于 WebXR 的 AR 体验。
Google Play 商店要求提供 64 位版本
上一部分中所述的 ARCore 64 位要求适用于所有 64 位设备,无论 Android 版本和 API 级别如何。此要求是单独的,与 2019 年 8 月 1 日生效的 Google Play 64 位要求无关,后者在应用版本级别进行评估,仅适用于分发给搭载 Android 9 Pie(API 级别 28)或更高版本的设备的 APK 或 app bundle。
了解 ARCore ABI 支持
ARCore 允许您构建支持以下 Android ABI 的应用:
当您构建支持 ARCore 的应用时,Android 构建系统会针对您的应用目标的 Android ABI 包含一个或多个 ARCore 原生库 (lib/…/libarcore_sdk*.so
)。
仅支持 32 位的 ARCore 应用以前可以在 32 位和 64 位设备上运行。2020 年 8 月,面向 AR 的 Google Play 服务 (ARCore) 停止在某些 64 位设备上包含 32 位原生库,自此之后,仅支持 32 位 ARCore 的应用将无法在受影响的 64 位设备上运行。在未来的版本中,可能也会取消对仅支持 32 位 ARCore 的应用的支持,而无需通知其余的 64 位设备。
如果支持 32 位架构的应用未经过更新,并且仅支持 32 位架构的应用,则无法创建会话,并且在受影响的 64 位设备上尝试启动增强现实 (AR) 会话时可能会崩溃。具体而言:
确定您的应用是否必须更新
如需检查您发布的应用是否包含支持 64 位设备所需的原生 ARCore 库,请执行以下操作:
打开 Google Play 管理中心。
选择您的支持 ARCore 的应用。
展开应用的活跃版本,验证原生平台是否包含 64 位 (arm64-v8a
) 支持。
更新您的应用以支持 64 位设备
如需更新现有仅支持 32 位 ARCore 的应用以包含 64 位原生库,请执行以下操作:
将您的项目更新为使用最新的 ARCore SDK。
使用 Google Play 管理中心构建并发布应用。
Google Play 将验证您的应用是否符合之前于 2019 年 8 月 1 日生效的 Google Play 商店 64 位要求。为了确保支持 ARCore 的应用为所有 64 位设备提供 64 位 (arm64-v8a
) 支持(无论 Android 版本或 API 级别如何)。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-26。
[null,null,["最后更新时间 (UTC):2025-07-26。"],[[["\u003cp\u003eGoogle Play Services for AR (ARCore) has dropped support for 32-bit-only apps on certain 64-bit Android devices, requiring app updates for continued AR functionality.\u003c/p\u003e\n"],["\u003cp\u003eARCore-enabled apps published without a corresponding 64-bit version (arm64-v8a) must be updated to include 64-bit libraries for compatibility.\u003c/p\u003e\n"],["\u003cp\u003e32-bit-only ARCore apps on affected 64-bit devices will fail to initiate AR sessions and may crash, necessitating an update to incorporate 64-bit support.\u003c/p\u003e\n"],["\u003cp\u003eThis ARCore 64-bit requirement is independent of the Google Play Store's broader 64-bit mandate and affects all 64-bit devices regardless of Android version.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can check their app's native platform support in the Google Play Console and update their projects using the latest ARCore SDK to ensure 64-bit compatibility.\u003c/p\u003e\n"]]],[],null,["# ARCore 64-bit requirement\n\nIn August 2020, *Google Play Services for AR* (ARCore) removed support for\n32-bit-only apps on some 64-bit devices. Support for 32-bit-only ARCore enabled\napps on the remaining 64-bit devices may be removed without notice in an\nupcoming ARCore release. 32-bit-only ARCore enabled apps running on 32-bit\ndevices are unaffected and continue to be supported.\n\nIf you published a 32-bit-only (e.g., `armeabi-v7a`) version of your\nARCore-enabled app without publishing a corresponding 64-bit (`arm64-v8a`)\nversion for 64-bit devices, you must update your app with a compatible 64-bit\nversion for 64-bit devices.\n\n**32-bit-only ARCore-enabled apps that aren't updated will fail to create an\nARCore session and might crash when attempting to start an augmented reality\n(AR) session on affected 64-bit devices**.\n\nIf you set the `android:use32bitAbi=\"true\"` attribute in your\napp's `AndroidManifest.xml`, your app will only use 32-bit libraries. Any AR\nexperiences in your app will attempt to use ARCore in 32-bit mode. However, the\n32-bit libraries will not be present in the *Google Play Services for AR*\nservice on some 64-bit devices. Without these libraries, your app will fail to\ncreate an ARCore session and might crash when attempting to start an augmented\nreality (AR) session on those affected 64-bit devices. This affects both native\nAR experiences and WebXR-based AR experiences inside a WebView component.\n\nGoogle Play Store 64-bit requirement\n------------------------------------\n\nThe ARCore 64-bit requirement described in the preceding section applies to all\n64-bit devices, regardless of Android version and API level. This requirement is\nseparate and not related to the Google Play\n[64-bit requirement](https://android-developers.googleblog.com/2019/01/get-your-apps-ready-for-64-bit.html)\nthat went into effect on August 1, 2019, which is\n[evaluated at the app release level](https://developer.android.com/games/optimize/64-bit#multi-apk-compliance)\nand applies only to APKs or app bundles that are distributed to devices running\nAndroid 9 Pie (API level 28) or later.\n\nUnderstanding ARCore ABI support\n--------------------------------\n\nARCore lets you build apps that support the following\n[Android ABIs](https://developer.android.com/ndk/guides/abis):\n\n- 32-bit (e.g., `armeabi-v7a`) and 64-bit (`arm64-v8a`) apps that target\n physical\n [ARCore supported devices](https://developers.google.com/ar/devices)\n\n- 32-bit (`x86`) and 64-bit (`x86_64`) apps that run inside an\n [Android Emulator](/ar/develop/java/emulator)\n\nWhen you build an ARCore-enabled app, the Android build system includes one or\nmore ARCore native libraries (`lib/.../libarcore_sdk*.so`) for the Android ABIs\ntargeted by your app.\n\n32-bit-only ARCore-enabled apps were previously able to run on both 32-bit\nand 64-bit devices. In August 2020 *Google Play Services for AR* (ARCore)\nstopped including 32-bit native libraries on some 64-bit devices, at which time\n32-bit only ARCore-enabled apps were no longer able to run on affected 64-bit\ndevices. In a future release, support for 32-bit-only ARCore-enabled apps may\nalso be removed without notice from the remaining 64-bit devices.\n\n**32-bit-only ARCore-enabled apps that aren't updated will fail to create a\nsession and might crash when attempting to start an augmented reality (AR)\nsession on affected 64-bit devices**, specifically:\n\n| ARCore SDK | Session creation failure details |\n|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| **ARCore SDK for Android (NDK)** | [`ArSession_create`](/ar/reference/c/group/session#arsession_create) and [`ArSession_createWithFeatures`](/ar/reference/c/group/session#arsession_createwithfeatures) will return `AR_ERROR_FATAL`. |\n| **ARCore SDK for Android (Java)** | The Session constructors, [`Session(Context)`](/ar/reference/java/com/google/ar/core/Session#Session-context) and [`Session(Context, Set\u003cSession.Feature\u003e)`](/ar/reference/java/com/google/ar/core/Session#Session-context-features), will throw a [`FatalException`](/ar/reference/java/com/google/ar/core/exceptions/FatalException). |\n| **ARCore SDK for Unity** | When you enable the [`ARCoreSession`](/ar/reference/unity/class/GoogleARCore/ARCoreSession) component, which is usually found on the [ARCore Device](/ar/reference/unity/prefab/ARCore_Device) prefab, ARCore will fail to create an ARCore session and [`Session.Status`](/ar/reference/unity/class/GoogleARCore/Session#status) will be `SessionStatus.FatalError`. |\n| [**AR Foundation (Unity)**](https://unity.com/unity/features/arfoundation) + [**ARCore XR Plugin**](https://docs.unity3d.com/Packages/com.unity.xr.arcore@latest) | The app will stop rendering (black screen) when the app tries to start an AR session, due to a crash on the main thread while trying to load non-existent 32-bit ARCore native libraries. |\n\nDetermining whether your app must be updated\n--------------------------------------------\n\nTo check whether your published app includes the required native ARCore\nlibraries to support 64-bit devices:\n\n1. Open the [Google Play Console](https://play.google.com/console).\n\n2. Select your ARCore-enabled app.\n\n3. Expand the app's active release to verify that the **Native platforms**\n includes 64-bit (`arm64-v8a`) support.\n\nUpdating your app to support 64-bit devices\n-------------------------------------------\n\nTo update an existing 32-bit-only ARCore-enabled app to include 64-bit native\nlibraries:\n\n1. Update your project to use the latest [ARCore SDK](/ar/develop/downloads).\n\n2. Build your app and publish it using the\n [Google Play Console](https://play.google.com/console).\n\nGoogle Play will verify that your app meets the Google Play Store\n[64-bit requirement](https://android-developers.googleblog.com/2019/01/get-your-apps-ready-for-64-bit.html)\nthat previously went into effect on August 1, 2019. To ensure that your\nARCore-enabled app includes 64-bit (`arm64-v8a`) support for all 64-bit devices,\nregardless of Android version or API level."]]