L’hardware di uno smartphone è spesso in grado di fare molto di più di ciò che il software consente per impostazione predefinita. Questo è il motivo esatto per cui Porte della fotocamera Google sono diventati molto popolari sui nostri forum, poiché molti li vedono come un modo semplice per migliorare notevolmente la qualità delle immagini su un'ampia gamma di dispositivi. Con il porting dell'app Google Camera, puoi utilizzare l'ottimizzazione HDR+ superiore di Google e la modalità Ritratto sul tuo dispositivo non Google. Tuttavia, devi esserti imbattuto in un termine particolare - "Camera2 API" - mentre leggi su queste porte. In questo tutorial imparerai cosa significa effettivamente il termine e come puoi verificare lo stato del supporto dell'API Camera2 sui tuoi telefoni Android.
Cos'è l'API Camera2?
Il modulo fisico della fotocamera del telefono è un componente hardware incredibilmente complesso, ma Android non ha bisogno di sapere tutto i parametri di basso livello per interagire con essa, grazie alla fotocamera Hardware Abstraction Layer (HAL) implementata dal SoC venditori. L'API (Application Programming Interface) specifica della fotocamera risiede sopra l'HAL e funge da framework pubblico a livello di app. In poche parole, l'API Camera consente alle app di sondare le funzionalità della fotocamera su un dispositivo in modo semplificato, senza preoccuparsi del nocciolo del sensore della fotocamera.
Google ha introdotto il API Camera2 in Android 5.0 Lollipop come successore dell'originale API della fotocamera al fine di definire meglio come le app possono interagire con le singole fotocamere collegate al proprio smartphone. Espone alle app una serie di controlli granulari della fotocamera, inclusi efficienti flussi burst/streaming a copia zero e controlli per fotogramma di esposizione, guadagno, miglioramenti del bilanciamento del bianco, conversione del colore, riduzione del rumore, nitidezza e altro ancora.
Ci sono cinque diversi livelli di supporto per l'API Camera2:
- Eredità: Dispositivi legacy che non supportano le funzionalità Camera API2 come i controlli per fotogramma. Questi dispositivi espongono funzionalità alle app tramite le interfacce Camera API2 che sono all'incirca le stesse funzionalità esposte alle app tramite le interfacce Camera API1.
- Limitato: Questi dispositivi supportano solo un sottoinsieme di tutte le funzionalità Camera API2.
- Pieno: Questi dispositivi supportano tutte le principali funzionalità di Camera API2 e devono utilizzare Camera HAL 3.2 o versione successiva e Android 5.0 o versione successiva.
- Livello 3: Questi dispositivi supportano la rielaborazione YUV e l'acquisizione di immagini RAW, insieme a configurazioni aggiuntive del flusso di output oltre al supporto completo dell'API Camera2.
- Esterno: Simile ai dispositivi LIMITATI con alcune eccezioni (ad esempio alcune informazioni sul sensore o sull'obiettivo potrebbero non essere riportate o avere frame rate meno stabili). Questo livello viene utilizzato per fotocamere esterne come webcam USB.
Come per la maggior parte degli utenti, il motivo per cui tutti dovreste preoccuparvi del supporto dell'API Camera2 è che è necessario che le porte di Google Camera funzionino sul vostro smartphone.
Come verificare se l'API Camera2 è abilitata
La pagina web per il Suite di test delle immagini parte di Compatibility Test Suite (CTS) lo afferma Fotocamera HAL3 è fortemente consigliato il supporto con l'API Camera2 dispositivi certificati con Android 9 o versioni successive. Detto questo, molti dispositivi in passato non disponevano del supporto API Camera2 pronto all'uso. Per abilitare l'API, alcuni di essi richiedono root per modificare il loro build.prop o semplicemente un bootloader sbloccato per eseguire comandi Fastboot specifici del fornitore. Più recentemente, però, le cose hanno cominciato a cambiare.
Per conoscere lo stato del supporto dell'API Camera2 sul tuo dispositivo, scegli uno dei seguenti metodi.
Metodo 1: utilizzo di ADB
Prima di iniziare con questo metodo, assicurati di avere accesso a un PC/Mac con ADB e Fastboot installati.
- Sul telefono, attiva il debug USB dalle Opzioni sviluppatore.
- Potrebbe essere necessario abilitare le opzioni sviluppatore Primo.
- Collega il tuo dispositivo al PC/Mac.
- Apri un prompt dei comandi o PowerShell (Windows) o una finestra di terminale (macOS o Linux).
- Nel caso in cui la posizione del binario ADB non sia definita nelle impostazioni globali del PATH, è necessario modificare la directory di lavoro della shell nella posizione in cui è posizionato il binario ADB.
- Immettere il seguente comando:
adb shell "getprop | grep HAL3"
- Se il risultato è uno dei seguenti:
[persist.camera.HAL3.enabled]: [1]
, il tuo dispositivo dispone di Camera HAL3 con supporto completo dell'API Camera2.[persist.vendor.camera.HAL3.enabled]: [1]
Metodo 2: utilizzo di un emulatore di terminale
Se non desideri utilizzare un PC/Mac, puoi utilizzare qualsiasi app di emulazione di terminale per verificare lo stato dell'API Camera2 direttamente dal tuo telefono.
- Scarica un'app di emulazione terminale a tua scelta. Di seguito ne abbiamo elencati alcuni popolari.
- Apri l'app e inserisci il seguente comando:
getprop | grep HAL3
- Se il risultato è uno dei seguenti:
[persist.camera.HAL3.enabled]: [1]
, il tuo dispositivo dispone di Camera HAL3 con supporto completo dell'API Camera2.[persist.vendor.camera.HAL3.enabled]: [1]
[appbox googleplay "jackpal.androidterm"]
[appbox fdroid "com.termux"]
Tieni presente che avere il supporto HAL3 non significa che tutte le funzionalità dell'API Camera2 siano disponibili, come a l'azienda potrebbe ancora modificare funzionalità come il supporto per l'acquisizione RAW, i livelli ISO, i tempi di esposizione e Di più. Questo è il motivo per cui consigliamo di optare per il terzo metodo, poiché offre informazioni più granulari.
Metodo 3: utilizzo di un'app dedicata di terze parti
Non vuoi giocare con l'interfaccia della riga di comando? Quindi scarica semplicemente l'app Camera2 API Probe sul dispositivo Android di destinazione da Google Play Store.
[appbox googleplay "com.airbeat.device.inspector"]
Una volta installata, l'app mostrerà due o più sezioni a seconda del numero di obiettivi della fotocamera del tuo dispositivo (ad esempio "ID fotocamera: 0" rappresenta il modulo della fotocamera posteriore). Sotto ciascun ID fotocamera è possibile trovare una sottocategoria di varie funzionalità e i relativi dettagli di supporto. Siamo particolarmente interessati alla categoria denominata "Livello di supporto hardware" che mostra il livello di supporto dell'API Camera2 sul dispositivo.
Come puoi vedere, l'app non solo rileva l'esatto livello API Camera2 per il tuo dispositivo, ma elenca anche molte altre funzionalità supportate dal modulo fotocamera. Le informazioni potrebbero tornare utili al momento dell'installazione di app per fotocamere di terze parti come una specifica porta Google Camera che può utilizzare queste funzionalità.
Se vuoi scavare più a fondo e scoprire maggiori informazioni sulle estensioni Camera2 supportate (così come CameraX), dai Informazioni su CameraX dallo sviluppatore riconosciuto XDA Zacharee1. Tieni presente che l'app elenca solo le funzionalità che il produttore del tuo dispositivo ha esposto ad app di terze parti. Non deve essere utilizzato per enumerare le funzionalità integrate nell'app nativa della fotocamera.
Prezzo: gratuito.
Ci auguriamo che ora tu possa individuare rapidamente se l'API Camera2 è abilitata o meno sul tuo dispositivo utilizzando questa guida. Fateci sapere il vostro metodo preferito nei commenti!