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

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

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

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

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

  1. Ваше приложение было скомпилировано с использованием уязвимого SDK.
  2. Ваше приложение использует любой из следующих затронутых API:
Если ваше приложение было скомпилировано с помощью
Версия ARCore SDK…
И использует затронутые API… Нарушение поведения начиная с ноября 2022 г.
1.19.0 или ниже Frame.getImageMetadata() Выдает исключение IllegalArgumentException .
1.10.0 или ниже Frame.acquireCameraImage() Возвращает изображение размером 0x0.

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

Затронутые приложения могут выйти из строя в ноябре 2022 года. Чтобы избежать этой проблемы, перестройте приложение с помощью последней версии ARCore SDK . Как минимум, вам необходимо выполнить обновление до ARCore SDK версии 1.20.0 или более поздней.

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

Протестируйте приложение, заранее смоделировав изменения, произошедшие в ноябре 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 г. Объявите о будущих кардинальных изменениях в связи с предстоящим удалением реализации затронутых API из Сервисов Google Play для AR в ноябре 2022 года.
ноябрь 2022 г. Удалите реализацию затронутых API из Сервисов Google Play для AR.
Внесите критические изменения для приложений, использующих версии ARCore до 1.20.0.