Ноябрь 2022 г. удаление устаревших методов камеры для ARCore SDK для Android NDK (C)

В ноябре 2022 года из сервисов Google Play для AR будут удалены устаревшие методы, связанные с изображениями и метаданными камеры NDK.

Приложения, использующие эти методы в затронутых версиях ARCore SDK, могут начать вести себя по-другому или выйти из строя, когда пользователи обновляют Сервисы Google Play для AR.

Затронутые приложения

Начиная с ноября 2022 г. ваше приложение может перестать работать или аварийно завершить работу, когда пользователи обновят сервисы Google Play для AR до последней версии, если:

  1. Ваше приложение было скомпилировано с использованием уязвимого SDK.
  2. Ваше приложение использует любой из следующих затронутых API:
Если ваше приложение было скомпилировано с помощью
Версия ARCore SDK…
И использует затронутые API… Нарушение поведения начиная с ноября 2022 г.
1.22.0 или ниже ArImage_getNdkImage()
(удалено в ARCore SDK 1.23.0)
Возвращает NULL в результирующей структуре AImage .
1.22.0 или ниже ArImage_getNdkCameraMetadata()
(удалено в ARCore SDK 1.23.0)
Возвращает NULL в результирующей структуре ACameraMetadata .

Исправьте затронутые приложения

Затронутые приложения могут выйти из строя в ноябре 2022 года. Чтобы избежать этой проблемы, используйте замену затронутых методов:

Убедитесь, что затронутое приложение исправлено

Протестируйте приложение, заранее смоделировав изменения, произошедшие в ноябре 2022 г., добавив специальную запись meta-data в AndroidManifest.xml вашего приложения:

  1. Убедитесь, что на целевом устройстве установлены Play Services for AR версии 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 года.

Хронология

Период События
ноябрь 2020 г.
(ARCore SDK версии 1.20.0)
Отменить поддержку затронутых API, ввести альтернативные API.
февраль 2021 г.
(ARCore SDK версии 1.23.0)
Удалите ранее устаревшие подписи API из ARCore SDK.
ноябрь 2021 г. Объявите о будущих кардинальных изменениях в связи с предстоящим удалением реализации затронутых API из Сервисов Google Play для AR в ноябре 2022 года.
ноябрь 2022 г. Удалите реализацию затронутых API из Сервисов Google Play для AR.
Внесите критические изменения для приложений, использующих версии ARCore до 1.23.0.