2022 年 11 月弃用针对 ARCore SDK for Android NDK(AR 基础)移除的摄像头方法

2022 年 11 月,面向 AR 的 Google Play 服务将移除已弃用的方法 与 NDK 相机图像和元数据有关。

在受影响版本的 AR 基础 可能开始 当用户更新面向 AR 的 Google Play 服务时,应用的行为方式或发生崩溃。

受影响的应用

从 2022 年 11 月开始,当用户进行更新时,您的应用可能会停止运行或崩溃 最新版本的面向 AR 的 Google Play 服务

  1. 您的应用是使用受影响的 SDK 编译的
  2. 您的应用使用了以下任一受影响的 API:
如果您的应用是使用
编译的 AR 基础版本...
并使用受影响的 API... 自 2022 年 11 月起出现的重大行为
AR Foundation 2.1(Unity 2019 LTS) XRCameraSubsystem.TryGetLatestImage(out XRCameraImage) 返回 false

修复受影响的应用

受影响的应用可能会在 2022 年 11 月出现中断问题。为了缓解这一问题 更新到您的 Unity 版本支持的最新版 AR Foundation。 请至少更新到 AR Foundation 4.x 或更高版本。

验证受影响的应用是否已修复

通过向应用的 AndroidManifest.xml 添加一个特殊的 meta-data 条目,提前模拟 2022 年 11 月的更改,对应用进行测试:

  1. 确保目标设备上安装了面向 AR 的 Play 服务 1.29.0 或更高版本。
  2. 将新的 <meta-data> 标记添加为应用的现有 <application> 元素的子元素 自定义 AndroidManifest.xml 文件 :

    <application …>
      …
    
      <!--
           Simulate the November 2022 changes in advance.
           IMPORTANT: Remove this tag when testing is completed.
           Do not include this tag in published versions of your app.
      -->
      <meta-data android:name="com.google.ar.core.session_settings"
                 android:value="camera_stack_option,unified_mono" />
    </application>
    
  3. 测试您的应用,验证 ARCore 功能是否以 符合预期。

  4. 测试完成后,请移除 <meta-data> 标记。离开此标签 都可能导致 。

如果应用正常运行,则表示该应用将在 2022 年 11 月为这些变化做好准备。

时间轴

时段 事件
2020 年 11 月
(ARCore SDK 1.20.0 版)
废弃了原生 API。
更新实现以使用替代原生 API。
2021 年 11 月 公布未来因实施待移除而进行的破坏性更改 的受影响 API 数量。
2022 年 11 月 移除已实现的受影响 API: “面向 AR 的 Google Play 服务”。
针对使用 ARCore 版本之前版本的应用引入破坏性更改 1.23.0.