В ноябре 2022 года из сервисов Google Play для AR будут удалены устаревшие методы, связанные с изображениями и метаданными камеры NDK.
Приложения, использующие эти методы в уязвимых версиях ARCore SDK, могут начать вести себя по-другому или выйти из строя, когда пользователи обновляют Сервисы Google Play для AR.
Затронутые приложения
Начиная с ноября 2022 г. ваше приложение может перестать работать или аварийно завершить работу, когда пользователи обновят сервисы Google Play для AR до последней версии, если:
- Ваше приложение было скомпилировано с использованием уязвимого SDK.
- Ваше приложение использует любой из следующих затронутых 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
вашего приложения:
- Убедитесь, что на целевом устройстве установлены Play Services for AR версии 1.29.0 или выше.
Добавьте новый тег
<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>
Протестируйте свое приложение и убедитесь, что все функции ARCore работают должным образом.
Удалите тег
<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. |