Camera2 API Probe: как проверить поддержку Camera2 API на Android

Запрос «camera2 api probe» обычно появляется, когда пользователь пытается установить порт Google Camera (GCam) или стороннюю камеру с ручными настройками, а приложение либо не запускается, либо показывает черный экран — и первым делом нужно проверить, поддерживает ли смартфон Camera2 API и на каком уровне. Именно для этого существуют приложения-пробы (probe), которые считывают системные характеристики камеры и показывают уровень поддержки: LEGACY, LIMITED, FULL или LEVEL_3.

Без этой проверки установка GCam превращается в лотерею: одна и та же сборка может работать на одном телефоне и падать на другом даже при схожем железе. В этой статье разберём, что такое Camera2 API, как работает probe-проверка, что означают уровни поддержки и что делать, если нужного уровня нет.

Что такое Camera2 API и зачем нужна проверка

Camera2 API — это программный интерфейс Android, который даёт приложениям прямой доступ к параметрам камеры: выдержке, ISO, фокусному расстоянию, ручному фокусу, захвату в RAW и другим настройкам. Он пришёл на смену устаревшему Camera API начиная с Android 5.0 Lollipop, но само наличие новой версии системы не гарантирует полную поддержку интерфейса.

Дело в том, что производитель смартфона сам решает, какой уровень Camera2 API реализовать в прошивке. Бюджетные устройства часто ограничиваются минимальным уровнем, и тогда сторонние камеры не могут получить доступ к ручным настройкам, даже если «железо» сенсора это позволяет. Probe-приложение просто считывает системные свойства камеры и показывает фактическое состояние дел.

Уровни поддержки Camera2 API

Результат probe-проверки сводится к одному из четырёх уровней. Понимание разницы между ними помогает сразу оценить перспективы установки сторонней камеры.

УровеньЧто означаетПерспективы для GCam
LEGACYРабота через прослойку совместимости со старым Camera APIПрактически нет, ручные функции недоступны
LIMITEDБазовая поддержка Camera2 API с ограничениямиЧастичная работа, зависит от сборки
FULLПолный контроль над параметрами съёмкиХорошая совместимость с большинством портов
LEVEL_3Расширенные возможности: reprocessing, RAW-потокиМаксимальная совместимость и качество

Обратите внимание: уровень может отличаться для основной, фронтальной и дополнительных камер одного устройства. Нередко основная камера имеет уровень FULL, а фронтальная — только LIMITED.

Как выполнить probe-проверку поддержки

Самый простой способ — установить из магазина приложений одну из утилит для диагностики камеры. Их несколько, работают они по одному принципу: запрашивают у системы характеристики через CameraCharacteristics и выводят результат списком. Ищите по запросу «Camera2 API probe» или «Camera2 probe» — подойдёт любая известная утилита с таким названием, например приложения для проверки Camera2 от независимых разработчиков.

Порядок действий обычно такой:

  • 📱 Установите probe-приложение из Google Play и запустите его
  • 🔍 Найдите в отчёте строку с уровнем поддержки (Hardware support level)
  • 📷 Проверьте отдельно заднюю и фронтальную камеры, переключая их в интерфейсе
  • 📋 Посмотрите дополнительные параметры: поддержку RAW, ручного фокуса и выдержки

☑️ Проверка Camera2 API перед установкой GCam

Выполнено: 0 / 5

Что делать при уровне LEGACY или LIMITED

Если проверка показала LEGACY, штатными средствами ситуацию не исправить — уровень зашит в прошивку производителем. На некоторых устройствах существуют способы активации Camera2 API через изменение системных свойств, но это требует root-прав и правки файла build.prop, что связано с рисками и аннулированием гарантии. Такие методы строго специфичны для конкретной модели и версии прошивки.

⚠️ Внимание: редактирование системных файлов и получение root-доступа могут привести к неработоспособности устройства и потере гарантии. Перед любыми подобными действиями изучите инструкции именно для вашей модели на профильных форумах и сделайте резервную копию данных.

При уровне LIMITED ситуация лучше: многие порты GCam имеют версии, адаптированные под ограниченную поддержку. Часть функций (например, Night Sight) может работать, а ручной режим — нет. Здесь имеет смысл пробовать разные сборки порта.

📊 Какой уровень Camera2 API показала проверка на вашем смартфоне?
LEGACY
LIMITED
FULL
LEVEL_3

Альтернативные способы проверки

Помимо специализированных probe-утилит, уровень поддержки можно узнать и другими способами. Информационные приложения вроде средств системной диагностики (AIDA64 и аналоги) также отображают характеристики камер, включая уровень Camera2 API. Некоторые порты GCam при первом запуске сами сообщают о несовместимости.

Для разработчиков доступен и программный путь: уровень читается из ключа INFO_SUPPORTED_HARDWARE_LEVEL через Camera2 API напрямую. Это полезно, если вы пишете собственное приложение камеры и хотите корректно обрабатывать устройства с разной поддержкой.

Техническая деталь для разработчиков

Уровень поддержки определяется значением CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL. Возможные константы: INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY, LIMITED, FULL и LEVEL_3. Проверка выполняется через CameraManager без открытия самой камеры.

Типичные проблемы после проверки

Даже при уровне FULL сторонняя камера может работать нестабильно. Возможные причины — несовместимость конкретной сборки GCam с процессором устройства (порты часто оптимизированы под Snapdragon и хуже работают на других чипах), конфликт конфигурации или нехватка прав. В таких случаях помогает сброс настроек приложения камеры, загрузка конфиг-файла под вашу модель или выбор другой сборки порта.

⚠️ Внимание: устанавливайте порты GCam только из проверенных источников — сборки от известных разработчиков с профильных ресурсов. APK-файлы со случайных сайтов могут содержать вредоносный код.

Ещё один нюанс: уровень Camera2 API не меняется при обновлении приложений — он определяется прошивкой, и изменить его может только обновление системы от производителя. Если смартфон больше не получает обновлений, зафиксированный уровень останется навсегда.

FAQ: частые вопросы о Camera2 API probe

Безопасно ли устанавливать probe-приложения?

Да, утилиты проверки Camera2 API только считывают системную информацию и не вносят изменений в прошивку. Выбирайте приложения с хорошим рейтингом и разумным набором запрашиваемых разрешений.

Можно ли поднять уровень с LIMITED до FULL без root?

Штатными средствами — нет. Уровень определяется производителем на уровне прошивки. На отдельных моделях существуют способы активации через root и правку системных свойств, но они специфичны для конкретного устройства и несут риски.

Почему GCam не работает, хотя уровень FULL?

Уровень поддержки — необходимое, но не достаточное условие. На совместимость влияют процессор, версия Android, конкретная сборка порта и конфигурация. Попробуйте другую сборку или конфиг под вашу модель.

Нужно ли проверять Camera2 API для обычной съёмки?

Нет, штатная камера работает независимо от уровня Camera2 API. Проверка актуальна только при установке сторонних камер с ручными настройками, RAW-съёмкой или портов GCam.

Отличается ли уровень на фронтальной камере?

Да, довольно часто. Фронтальный модуль нередко имеет более низкий уровень поддержки, чем основной, поэтому проверять стоит обе камеры отдельно.