O hardware de um smartphone geralmente é capaz de fazer mais do que apenas o software permite por padrão. Esta é a razão exata pela qual Portas da Câmera do Google tornaram-se muito populares em nossos fóruns, pois muitos os veem como uma maneira fácil de melhorar drasticamente a qualidade da imagem em uma ampla variedade de dispositivos. Com o aplicativo Google Camera portado, você pode usar a otimização HDR + superior do Google, bem como o modo retrato em seu dispositivo que não seja do Google. No entanto, você deve ter se deparado com um termo específico – “Camera2 API” – ao ler sobre essas portas. Neste tutorial, você aprenderá o que o termo realmente significa e como verificar o status do suporte da API Camera2 em seus telefones Android.
O que é API Camera2?
O módulo físico da câmera do seu telefone é uma peça de hardware incrivelmente complexa, mas o Android não precisa saber tudo os parâmetros de baixo nível para interagir com ele, graças à câmera Hardware Abstraction Layer (HAL) implementada pelo SoC fornecedores. A Interface de Programação de Aplicativo (API) específica da câmera reside no HAL e atua como uma estrutura pública em nível de aplicativo. Resumindo, a API da câmera permite que os aplicativos testem os recursos da câmera em um dispositivo de maneira simplificada, sem se preocupar com os detalhes do sensor da câmera.
O Google apresentou o API Câmera2 no Android 5.0 Lollipop como sucessor do original API da câmera para definir melhor como os aplicativos podem interagir com as câmeras individuais conectadas ao seu smartphone. Ele expõe uma série de controles granulares de câmera aos aplicativos, incluindo fluxos eficientes de burst/streaming de cópia zero e controles por quadro de exposição, ganho, ganhos de equilíbrio de branco, conversão de cores, eliminação de ruído, nitidez e muito mais.
Há cinco níveis de suporte diferentes para a API Camera2:
- Legado: Dispositivos legados que não suportam recursos da Camera API2, como controles por quadro. Esses dispositivos expõem recursos aos aplicativos por meio das interfaces Camera API2 que são aproximadamente os mesmos recursos expostos aos aplicativos por meio das interfaces Camera API1.
- Limitado: Esses dispositivos oferecem suporte apenas a um subconjunto de todos os recursos da Camera API2.
- Completo: Esses dispositivos suportam todos os principais recursos da Camera API2 e devem usar Camera HAL 3.2 ou superior e Android 5.0 ou superior.
- Nível 3: Esses dispositivos suportam reprocessamento YUV e captura de imagens RAW, juntamente com configurações adicionais de fluxo de saída, além do suporte completo à API Camera2.
- Externo: Semelhante aos dispositivos LIMITED, com algumas exceções (por exemplo, algumas informações do sensor ou da lente podem não ser relatadas ou ter taxas de quadros menos estáveis). Este nível é usado para câmeras externas, como webcams USB.
Como para a maioria dos usuários, o motivo pelo qual todos devem se preocupar com o suporte da API Camera2 é que é necessário que as portas da Câmera do Google funcionem em seu smartphone.
Como verificar se a API Camera2 está habilitada
A página da web para Conjunto de testes de imagem parte do Compatibility Test Suite (CTS) afirma que Câmera HAL3 o suporte com a API Camera2 é fortemente recomendado para dispositivos certificados executando o Android 9 ou superior. Com isso dito, muitos dispositivos no passado não tinham suporte imediato à API Camera2. Para habilitar a API, alguns deles exigem root para modificar seu build.prop ou apenas um bootloader desbloqueado para executar comandos Fastboot específicos do fornecedor. Mais recentemente, porém, as coisas começaram a mudar.
Para saber o status do suporte da API Camera2 em seu dispositivo, escolha um dos métodos a seguir.
Método 1: usando ADB
Antes de começar com este método, certifique-se de ter acesso a um PC/Mac com ADB e Fastboot instalados.
- No seu telefone, ative a depuração USB nas opções do desenvolvedor.
- Você pode precisar ativar opções do desenvolvedor primeiro.
- Conecte seu dispositivo ao PC/Mac.
- Abra um prompt de comando ou PowerShell (Windows) ou uma janela de terminal (macOS ou Linux).
- Caso o local do binário ADB não esteja definido nas configurações globais do PATH, você deve alterar o diretório de trabalho do shell para o local onde o binário ADB está colocado.
- Digite o seguinte comando:
adb shell "getprop | grep HAL3"
- Se o resultado for um dos seguintes:
[persist.camera.HAL3.enabled]: [1]
, então seu dispositivo terá Camera HAL3 com suporte completo à API Camera2.[persist.vendor.camera.HAL3.enabled]: [1]
Método 2: usando um emulador de terminal
Se não quiser usar um PC/Mac, você pode usar qualquer aplicativo emulador de terminal para verificar o status da API Camera2 diretamente do seu telefone.
- Baixe um aplicativo emulador de terminal de sua escolha. Listamos alguns populares abaixo.
- Abra o aplicativo e digite o seguinte comando:
getprop | grep HAL3
- Se o resultado for um dos seguintes:
[persist.camera.HAL3.enabled]: [1]
, então seu dispositivo terá Camera HAL3 com suporte completo à API Camera2.[persist.vendor.camera.HAL3.enabled]: [1]
[appbox googleplay "jackpal.androidterm"]
[appbox fdroid "com.termux"]
Tenha em mente que ter suporte para HAL3 não significa que todos os recursos da API Camera2 estejam disponíveis, como a empresa ainda poderia modificar funcionalidades como suporte de captura RAW, níveis ISO, tempos de exposição e mais. Por isso recomendamos optar pelo terceiro método, pois oferece informações mais granulares.
Método 3: usando um aplicativo dedicado de terceiros
Não quer mexer na interface da linha de comando? Em seguida, basta baixar o aplicativo Camera2 API Probe no dispositivo Android de destino na Google Play Store.
[appbox googleplay "com.airbeat.device.inspector"]
Uma vez instalado, o aplicativo mostrará duas ou mais seções dependendo do número de lentes de câmera que seu dispositivo possui (por exemplo, "ID da câmera: 0" representa o módulo da câmera traseira). Em cada ID de câmera, você pode encontrar uma subcategoria de vários recursos e seus detalhes de suporte. Estamos particularmente interessados na categoria chamada “Nível de suporte de hardware”, que mostra o nível de suporte da API Camera2 no dispositivo.
Como você pode ver, o aplicativo não apenas descobre o nível exato da API Camera2 para o seu dispositivo, mas também lista vários outros recursos suportados pelo módulo da câmera. As informações podem ser úteis no momento da instalação de aplicativos de câmera de terceiros, como uma porta específica da Câmera do Google que pode utilizar esses recursos.
Se você quiser se aprofundar e descobrir mais informações sobre as extensões Camera2 (bem como CameraX) suportadas, dê Informações da CâmeraX por Zacharee1, desenvolvedor reconhecido pelo XDA. Observe que o aplicativo lista apenas os recursos que o fabricante do seu dispositivo expôs a aplicativos de terceiros. Não deve ser usado para enumerar os recursos integrados ao aplicativo de câmera nativo.
Preço: Grátis.
Esperamos que agora você possa identificar rapidamente se a API Camera2 está habilitada ou não em seu dispositivo usando este guia. Deixe-nos saber seu método preferido nos comentários!