Note sulla versione di Android 12 e Android 12L

Questa pagina riepiloga le principali funzionalità delle versioni Android 12 e Android 12L e fornisce collegamenti a informazioni aggiuntive. Questi riepiloghi delle funzionalità sono organizzati in base alla posizione della documentazione della funzionalità su questo sito.

Architettura

Aggiornamenti della classe AlwaysOnHotwordDetector

A partire da Android 12, la classe AlwaysOnHotwordDetector , incluso il relativo metodo factory, android.service.voice.VoiceInteractionService.createAlwaysOnHotwordDetector() , è un'API di sistema ( @SystemApi ) anziché un'API pubblica. La classe AlwaysOnHotwordDetector è destinata all'uso da parte delle app dell'Assistente con privilegi a livello di sistema, comunemente fornite in bundle con la versione del sistema operativo. In Android 11 e versioni precedenti, l'API è protetta da controlli che garantiscono che il chiamante sia l'app dell'Assistente attualmente attiva, rendendo l'API inutilizzabile da altre app di terze parti.

Inoltre, Android 12 include miglioramenti alla funzionalità di attivazione del suono per migliorare l'attribuzione e l'applicazione delle autorizzazioni relative all'utilizzo del microfono tramite l'API di attivazione del suono. L'utilizzo del microfono, incluso l'utilizzo indiretto come tramite le classi SoundTriggerManager o AlwaysOnHotwordDetector , viene attribuito al pacchetto di origine (app Assistant) che chiama la classe AlwaysOnHotwordDetector . Ciò migliora la privacy e la trasparenza dell'utente sui pacchetti che utilizzano il microfono. In Android 11 e versioni precedenti, l'utilizzo del microfono viene attribuito all'utente del sistema perché il pacchetto di origine non utilizza direttamente l'API di attivazione del suono ma tramite servizi di livello superiore che risiedono nel processo system_server .

L’impatto di questi cambiamenti è il seguente:

  • Le app non di sistema che utilizzano la classe AlwaysOnHotwordDetector non riescono a compilare con l'API Android 12 perché l'API è stata rimossa dalla superficie pubblica.
  • Alle app di sistema esistenti che utilizzano la classe AlwaysOnHotwordDetector potrebbe essere negato l'uso delle funzionalità di attivazione del suono in fase di esecuzione. Per risolvere questo problema e consentire a queste app di accedere al microfono tramite l'attivazione del suono, dichiara le autorizzazioni RECORD_AUDIO e CAPTURE_AUDIO_HOTWORD per queste app.

Supporto per la lingua Android Rust

Android 12 ora supporta l'utilizzo del codice Rust. Una nuova sezione aggiunta alla documentazione di installazione fornisce indicazioni per lo sviluppo su Android con Rust.

Per ulteriori informazioni su Android Rust, vari moduli e per vedere esempi (oltre che per ottenere informazioni sulla configurazione dell'IDE), vedere la nuova sezione Android Rust in Introduzione ad Android Rust .

Intestazione dell'immagine di avvio

Android 12 aggiunge l'uso dell'intestazione dell'immagine di avvio versione 4, che è l'immagine di avvio principale per i dispositivi che supportano l'architettura Generic Kernel Image (GKI) . Android 12 fornisce anche una boot_signature per verificare l'integrità del kernel e del ramdisk. Il controllo, eseguito in VtsSecurityAvbTest , è richiesto per i dispositivi che utilizzano l'architettura GKI.

Per saperne di più, consulta la pagina Intestazione immagine di avvio .

Modifiche all'implementazione di bootconfig

La funzionalità bootconfig in Android 12, un meccanismo per trasferire i dettagli di configurazione dalla build e dal bootloader ad Android 12, sostituisce le opzioni della riga cmdline del kernel androidboot.* utilizzate con Android 11 e versioni precedenti. Questa funzionalità fornisce un modo per separare i parametri di configurazione per lo spazio utente Android da quelli per il kernel.

Per saperne di più, visita Implementazione di Bootconfig .

Fallback dei caratteri personalizzati

Prima di Android 12, l'aggiornamento dei file dei caratteri installati sul dispositivo in AOSP (nella partizione /system/fonts ) o nelle partizioni del fornitore (nelle partizioni /product/fonts o /system/fonts ) richiedeva un aggiornamento del sistema da parte dell'OEM. Questo requisito ha un impatto significativo sulla compatibilità delle emoji. In Android 12 puoi utilizzare il servizio di sistema FontManager per gestire i file dei caratteri installati e aggiornare i file dei caratteri installati sul dispositivo senza un aggiornamento del sistema.

Per informazioni su questa nuova funzionalità, vedere Implementazione del fallback dei caratteri personalizzati.

DMA-BUF Cumuli

In Android 12, GKI 2.0 sostituisce l'allocatore ION con heap DMA-BUF .

Abilita i filtri locali

Android 12 introduce una funzionalità che puoi utilizzare per configurare le lingue di sistema predefinite e i filtri locali per i nuovi tipi di dispositivi. Ciò consente di impostare il valore della proprietà del filtro e la lingua predefinita tramite oem/oem.prop durante la calibrazione di fabbrica e di configurare le restrizioni senza inserire il filtro nell'immagine del sistema.

Per ulteriori informazioni, vedere Abilitazione del filtro locale .

Ramdisk del fornitore Flash

Android 12 introduce il supporto per il flashing dei ramdisk del fornitore tramite un comando fastboot che estrae l'immagine completa vendor_boot da un dispositivo. Il comando richiede allo strumento fastboot lato host di leggere l'intestazione di avvio del fornitore, reimmaginare ed eseguire il flashing della nuova immagine. Questo supporto include modifiche al bootloader e al fastbootd per ottenere i dati necessari, come la dimensione della partizione e l'offset.

Per ulteriori informazioni, vedere Flashing ramdisk del fornitore nella pagina Fastboot in Userspace .

Versioni GKI

A partire da Android 12, la parte di rilascio Android della versione KMI può essere estratta dal kernel e inserita nel manifest del dispositivo in fase di compilazione.

Per ulteriori dettagli, consulta Controllo delle versioni GKI .

Statistiche della memoria storica degli eventi MM

I dispositivi avviati su Android 12 possono utilizzare mm_events , un insieme di statistiche relative alla memoria che vengono acquisite periodicamente mentre un sistema subisce un sovraccarico di memoria. mm_events è integrato con i meccanismi di tracciamento perfetto e aggiunge un sovraccarico prestazionale minimo. La raccolta delle statistiche rimane attiva per un periodo di tempo configurabile, acquisendo statistiche a intervalli regolari.

Per informazioni su come utilizzare le statistiche mm_events , vedere MM Events - Statistiche della memoria storica .

Restrizioni della finestra di avviso di sistema

Per migliorare la sicurezza dell'ecosistema Android, Android 12 ha reso più difficile acquisire l'autorizzazione SYSTEM_ALERT_WINDOW e consente alle app di terze parti di bloccare gli overlay da altre app di terze parti.

Alle app preinstallate non viene concessa automaticamente l'opzione SYSTEM_ALERT_WINDOW appOp in Android 12. Deve essere concessa esplicitamente dall'utente prima che un'app preinstallata possa utilizzarla. Le app di sistema ottengono comunque l'autorizzazione per impostazione predefinita.

Le app di terze parti possono disattivare la visualizzazione degli overlay dell'applicazione su di esse. Ciò fornisce un meccanismo di protezione contro gli attacchi in stile cloak and dagger . Questo è disponibile per tutte le app in modo che le app sensibili alla sicurezza, come le app bancarie, possano proteggersi. Per utilizzare questa funzionalità, un'app deve dichiarare l'autorizzazione HIDE_OVERLAY_WINDOWS nel proprio manifest.

HIDE_NON_SYSTEM_OVERLAY_WINDOWS(signature|privileged) è deprecato a favore di HIDE_OVERLAY_WINDOWS .

Modifiche alle partizioni di avvio del fornitore

I dispositivi Android 12 che utilizzano l'intestazione dell'immagine di avvio versione 4 supportano ramdisk di più fornitori nella partizione vendor_boot . Questi frammenti del ramdisk sono concatenati in serie nella sezione ramdisk del fornitore. Una tabella ramdisk del fornitore descrive il layout della sezione ramdisk del fornitore e i metadati di ciascun frammento del ramdisk del fornitore.

A causa delle modifiche alle partizioni di avvio del fornitore in Android 12 e versioni successive, non è possibile utilizzare default come nome del frammento del disco ram del fornitore; è designato come riservato. Non è consentito in nessun caso utilizzarlo per denominare i frammenti del ramdisk del fornitore.

Per ulteriori informazioni, consulta Partizioni di avvio del fornitore e Ramdisk di più fornitori .

Audio

Routing combinato di dispositivi audio

La funzionalità di routing combinato dei dispositivi audio aggiunge il supporto per lo streaming audio su più dispositivi audio contemporaneamente. Utilizzando questa funzionalità, le app privilegiate possono selezionare più dispositivi preferiti per una particolare strategia tramite API di sistema. Le app possono scoprire le funzionalità dei dispositivi audio in modo più preciso utilizzando le API pubbliche fornite da questa funzionalità.

Per ulteriori informazioni, consulta la pagina Routing di dispositivi audio combinati .

Aggiornamenti all'HAL audio V7

Per risolvere i problemi di compatibilità con le versioni precedenti, AIDL stabile sarà obbligatorio per tutte le modifiche HAL a partire da Android 13. Per preparare e migliorare questa futura adozione di AIDL, vengono apportate modifiche significative alla versione 7 dell'HAL audio in Android 12.

Per ulteriori informazioni, vedere Aggiornamenti alla sezione Audio HAL V7 e l' esempio di policy audio .

Telecamera

Immissione di metadati statici della fotocamera per dispositivi pieghevoli

Android 12 introduce la voce di metadati statici della fotocamera deviceStateOrientationMap che consente all'HAL della fotocamera di informare il client della fotocamera e il framework della fotocamera delle modifiche dell'orientamento del sensore attivate da una modifica nello stato di piegatura di un dispositivo. I dispositivi pieghevoli possono facoltativamente utilizzare una o più fotocamere logiche composte da dispositivi fisici con diversi orientamenti dei sensori per diversi stati di piegatura del dispositivo. La voce di metadati deviceStateOrientationMap consente al framework della fotocamera di garantire che le trasformazioni necessarie della superficie di output vengano applicate quando l'ID fisico attivo cambia nei risultati di acquisizione.

Per informazioni più dettagliate, vedere metadata_definitions.xml .

Requisito di supporto dell'estensione del fornitore CameraX

In Android 12, i dispositivi che supportano le estensioni CameraX devono avere la proprietà ro.camerax.extensions.enabled impostata su true , che consente di verificare se un dispositivo supporta le estensioni.

Per ulteriori informazioni, vedere Configurazione della libreria del fornitore su un dispositivo .

Supporto sensore fotocamera Quad Bayer

Android 12 introduce API della piattaforma che consentono alle app di sfruttare i dispositivi con sensori della fotocamera ad altissima risoluzione, in genere con modelli quad o non bayer che offrono flessibilità in termini di qualità dell'immagine e prestazioni in condizioni di scarsa illuminazione. Le nuove API supportano il comportamento di questi sensori tenendo conto che potrebbero supportare diverse configurazioni e combinazioni di flussi quando funzionano in modalità "risoluzione massima" invece che in modalità "predefinita".

Per implementare il supporto HAL della fotocamera per i sensori della fotocamera ad altissima risoluzione, i produttori di dispositivi devono implementare modifiche per i seguenti file:

Compatibilità

Requisito del supporto ADN per le carte SIM

A partire da Android 12, tutte le schede SIM nei dispositivi utilizzati per i test CTS devono supportare la memorizzazione dei numeri di selezione abbreviata (ADN).

Per maggiori dettagli, vedere Schermata e archiviazione .

Aggiornamenti ITS della fotocamera

Android 12 introduce vari aggiornamenti alla Camera Image Test Suite (ITS), inclusi test nuovi e aggiornati, il refactoring in Python 3 e l'adozione del framework di test Mobly.

Per ulteriori informazioni, consulta le note sulla versione di Android 12 Camera Image Test Suite .

Aggiornamenti CDD

Il documento di definizione della compatibilità di Android 12 ripete le versioni precedenti con aggiornamenti per nuove funzionalità e modifiche ai requisiti per le funzionalità rilasciate in precedenza.

Connettività

Slicing della rete 5G

Android 12 fornisce il supporto per il network slicing 5G, l'uso della virtualizzazione della rete per dividere singole connessioni di rete in più connessioni virtuali distinte che forniscono diverse quantità di risorse a diversi tipi di traffico. Ciò consente agli operatori di rete di dedicare una porzione della rete alla fornitura di funzionalità specifiche per un particolare segmento di clienti.

Per ulteriori informazioni, consulta Slicing della rete 5G .

Profili di Gestione dispositivi complementari

Le app destinate ad Android 12 e versioni successive possono utilizzare i profili del dispositivo associato quando si connettono a un orologio. L'utilizzo di un profilo semplifica il processo di registrazione raggruppando la concessione di un insieme di autorizzazioni specifiche per il tipo di dispositivo in un unico passaggio.

Screenshot di un telefono che mostra una richiesta di concessione delle autorizzazioni

Le autorizzazioni in bundle vengono concesse all'app complementare una volta che il dispositivo si connette e durano solo finché il dispositivo è associato. L'eliminazione dell'app o la rimozione dell'associazione rimuove le autorizzazioni.

Per ulteriori informazioni, consulta Profili dei dispositivi complementari .

Titolarità per il servizio IMS (TS.43)

Android 12 include il supporto per TS.43 Service Entitlement Configuration , una specifica GSMA che definisce la fase di verifica dei diritti per l'attivazione di servizi tra cui Voice-over-Wi-Fi (VoWiFi), Voice-over-LTE (VoLTE), SMS over IP (SMSoIP), attivazione del servizio su dispositivo (ODSA) dei dispositivi complementari eSIM (associati al dispositivo richiedente) e informazioni sul piano dati.

Per ulteriori informazioni, consulta Diritto al servizio IMS .

IMS registrazione unica

Android 12 aggiunge il supporto per un unico modello di registrazione per fornire funzionalità MMTEL e RCS. Questo modello consente ai dispositivi di gestire tutte le funzionalità IMS tramite un'unica registrazione IMS fornita da ImsService del dispositivo. Rispetto al modello a doppia registrazione, in cui più registrazioni IMS vengono gestite su un unico dispositivo, la registrazione singola riduce il traffico sulla rete di un operatore e aumenta l'affidabilità.

Per ulteriori informazioni, consultare Registrazione unica IMS .

Rilevamento del fuso orario della posizione

Android 12 include il rilevamento del fuso orario della posizione, una funzionalità opzionale di rilevamento automatico del fuso orario che consente ai dispositivi di utilizzare i dati della mappa di posizione e fuso orario per determinare il fuso orario corrente.

Per ulteriori informazioni, consulta Rilevamento del fuso orario della posizione .

Randomizzazione MAC

Android 12 introduce il tipo di randomizzazione MAC non persistente, che consente ad Android di randomizzare nuovamente gli indirizzi MAC per determinate reti all'inizio di ogni connessione.

Per ulteriori informazioni, consulta Comportamento di randomizzazione MAC .

Selezione della rete

Android 12 introduce un nuovo meccanismo di selezione della rete utilizzando la classe NetworkScore . La selezione della rete influisce sul modo in cui Android soddisfa le richieste di rete di app e sistema e influenza il modo in cui viene scelta la rete predefinita per un'app.

Per ulteriori informazioni, vedere Selezione della rete .

Stile chiamata di notifica

A partire da Android 12, consigliamo che le app utilizzino il nuovo stile di notifica, CallStyle , per le chiamate vocali e video in entrata e in corso. Questo stile di notifica include pulsanti di azione per rispondere, rifiutare e terminare le chiamate. Utilizza anche lo stesso stile incentrato sulla persona utilizzato dalle conversazioni , che è coerente con il suo comportamento di classificare le notifiche di chiamata in cima all'ombra.

Affinché le app utilizzino lo stile di notifica CallStyle , devono utilizzare un intento a schermo intero o un servizio in primo piano (con l'autorizzazione associata). Questo stile classifica le notifiche per le chiamate in cima all'ombra. Per le chiamate in corso, questo stile aggiunge un chip alla barra di stato consentendo agli utenti di tornare rapidamente all'app di chiamata.

Per ulteriori informazioni, vedere Notifiche di chiamata .

Aggiornamenti del passaporto

Android 12 introduce Passpoint R3 e altre funzionalità Passpoint come termini e condizioni, URL di informazioni sulla sede, prefissi di identità decorati e gestione imminente della deautenticazione.

Per ulteriori informazioni su queste funzionalità, vedere Passpoint (Hotspot 2.0) .

Aggiornamenti del Portafoglio ad accesso rapido

In Android 12 o versioni successive, la funzionalità Portafoglio ad accesso rapido è disponibile dall'ombra anziché dal menu di accensione come in Android 11. L'interfaccia utente di Portafoglio ora viene eseguita nell'interfaccia utente di sistema e si trova in frameworks/base/packages/SystemUI/src/com/android/systemui/wallet .

Per ulteriori informazioni, consulta Portafoglio ad accesso rapido .

Esperienza utente di connettività semplificata

Android 12 offre un'esperienza di connettività semplificata opzionale che aiuta gli utenti a comprendere meglio le proprie connessioni di rete, a passare da un provider Internet all'altro e a risolvere i problemi di connettività di rete.

Per ulteriori informazioni, vedere Interfaccia utente di connettività .

Priorità della sorgente temporale

A partire da Android 12, il framework dà priorità all'origine dell'ora Network Time Protocol (NTP) rispetto all'origine dell'identità di rete e del fuso orario (NITZ) per impostazione predefinita.

Per dettagli su come configurare e testare la priorità della sorgente temporale sul dispositivo, vedere Priorità della sorgente temporale .

Attiva/disattiva per disabilitare 2G

Per migliorare la sicurezza, Android 12 introduce un interruttore 2G nelle Impostazioni che consente agli utenti di disabilitare completamente le connessioni cellulari 2G. Per questa funzionalità è necessario implementare l'HAL Radio 1.6 .

La funzione di commutazione 2G è abilitata per impostazione predefinita. Gli operatori possono disabilitare la funzionalità in fase di esecuzione tramite il flag CarrierConfig KEY_HIDE_ENABLE_2G .

I produttori di dispositivi devono garantire che tutte le reti siano disponibili durante le chiamate di emergenza.

specifiche UICC

In Android 12, per eseguire i test API dell'operatore CTS, il dispositivo deve utilizzare un UICC per sviluppatori con privilegi dell'operatore CTS che soddisfi i requisiti specificati nell'ultima versione della specifica GSMA TS.48 Test Profile di terze parti.

Per ulteriori informazioni vedere Preparazione dell'UICC .

Concorrenza AP/AP Wi-Fi

Android 12 introduce la funzionalità di concorrenza AP/AP Wi-Fi, che consente ai dispositivi di attivare un hotspot di tethering Dual (AP+AP) con bridge.

Per ulteriori informazioni, consulta Concorrenza AP/AP Wi-Fi .

Evitamento del canale coex Wi-Fi/cellulare

Android 12 introduce la funzionalità di evitamento del canale Wi-Fi/coex cellulare , che identifica e impedisce l'uso di canali Wi-Fi non sicuri in caso di interferenze tra i canali cellulari. Ciò include interfacce come STA, SoftAp, Wi-Fi Direct (P2P), Wi-Fi Aware (NAN).

Miglioramenti del protocollo di sicurezza Wi-Fi

Android 12 introduce il supporto per WPA3 Hash-to-Element (H2E), modalità di transizione WPA2/WPA3-Enterprise e indicazione di disattivazione della transizione.

Per ulteriori informazioni, consulta WPA3 e Wi-Fi Enhanced Open .

Concorrenza Wi-Fi STA/STA

Android 12 introduce la funzionalità di concorrenza Wi-Fi STA/STA, che consente ai dispositivi di connettersi a due reti Wi-Fi contemporaneamente.

Per ulteriori informazioni, consulta Concorrenza Wi-Fi STA/STA .

Dispositivi

Android 12 nuove funzionalità automobilistiche

Vedi Novità automobilistiche per saperne di più su queste nuove funzionalità:

Schermo

Blocca i tocchi non attendibili

Per preservare la sicurezza del sistema e per una buona esperienza utente, Android 12 aggiunge il supporto per il blocco degli eventi touch non attendibili . Ciò impedisce alle app di utilizzare eventi touch in cui una sovrapposizione oscura l'app in modo non sicuro.

Notifiche e widget di conversazione

Android 11 ha aggiunto il supporto per personalizzare il comportamento e il posizionamento delle notifiche di conversazione nell'area Notifiche in base alla priorità e al livello di avviso, consentendo di contrassegnare le conversazioni come importanti e di avviare bolle specifiche della conversazione nello spazio Conversazione. Basandosi su queste funzionalità di Android 11, la funzionalità Widget di conversazione di Android 12 consente agli utenti di aggiungere widget di conversazione per contatti importanti alla schermata principale, consentendo loro di riprendere facilmente le conversazioni senza attendere una notifica.

Per ulteriori informazioni, vedere Notifiche e widget di conversazione .

La finestra si offusca

In Android 12 sono disponibili API pubbliche per implementare effetti di sfocatura della finestra (come sfocatura dello sfondo e sfocatura dietro). Con queste API puoi sfocare ciò che si trova dietro la tua finestra. È possibile creare finestre con sfondi sfocati, creando un effetto vetro smerigliato, oppure mostrare finestre con l'intero schermo dietro sfocato, creando un effetto di profondità di campo. Puoi anche combinare questi due.

Per ulteriori informazioni su questa nuova funzionalità e su come implementarla, vedere la pagina Sfocature delle finestre .

Ingrandimento della finestra

In Android 12, gli utenti ipovedenti possono ingrandire qualsiasi cosa sul display utilizzando la funzione di ingrandimento della finestra. L'ingrandimento della finestra consente agli utenti di ingrandire una parte selezionata dello schermo, a differenza dell'utilizzo della funzione di zoom su un intero schermo. La finestra selezionata può essere trascinata su tutto il display, consentendo loro di ingrandire diverse parti dello schermo secondo necessità.

Per ulteriori informazioni, vedere Lente di ingrandimento della finestra .

Impresa

Aggiornamenti dell'amministrazione del dispositivo

Android 12 include i seguenti aggiornamenti di amministrazione del dispositivo:

  • Aggiornamenti gestiti della separazione dei dati del profilo. Sui dispositivi personali con un profilo di lavoro, Android 12 rimuove l'accesso agli identificatori hardware del dispositivo (IMEI, MEID, numero di serie) e fornisce un ID univoco specifico per la registrazione che identifica la registrazione del profilo di lavoro per un'organizzazione specifica. Per maggiori dettagli, consulta Identificatori del dispositivo .

  • Aggiornamenti del provisioning del dispositivo. Android 12 include diverse modifiche al provisioning dei dispositivi. Per dettagli e un elenco delle modifiche, vedere Aggiornamenti di Android 12 .

Grafica

Gestione hot plug in Composer HAL

Le funzionalità di visualizzazione (come le modalità di visualizzazione e i tipi HDR supportati) possono cambiare dinamicamente sui dispositivi dotati di display collegati esternamente (tramite HDMI o DisplayPort), come set-top-box Android TV (STB) e over-the-top (OTT) dispositivi. Da Android 12 in poi, le modifiche al framework supportano la gestione hot plug e le funzionalità di visualizzazione dinamica.

Per ulteriori informazioni, vedere Gestione hot plug in Composer HAL .

Componenti del sistema modulare

Android 13 contiene diversi componenti di sistema modulari nuovi e aggiornati. I nuovi moduli sono:

  • ART : questo modulo mira a migliorare l'esperienza Android offrendo agli utenti le ultime ottimizzazioni, funzionalità e correzioni di bug del runtime gestito.

  • Pianificazione del dispositivo : questo modulo contiene la logica che rileva se il dispositivo è o meno in uno stato inattivo e può essere riavviato senza interruzioni per l'utente.

Aggiornamenti ai moduli esistenti:

  • adbd : aggiornato il limite del modulo.

  • DocumentsUI : navigazione file disabilitata.

  • ExtServices : aggiunto DisplayHashingService e aggiornato il limite del modulo.

  • Media : aggiunto un nuovo componente multimediale.

  • Runtime NNAPI : aggiornato il limite del modulo.

  • PermissionController : reso il modulo PermissionController completamente modulare e aggiornato il limite del modulo.

  • Estensioni SDK : aggiornata la responsabilità del modulo e aggiunto un nuovo componente.

  • Statsd : aggiornato il limite del modulo.

  • Tethering : la funzionalità aggiunta ha aggiornato il limite del modulo.

  • Dati sul fuso orario : aggiornato il formato del pacchetto.

  • Wi-Fi : aggiornato il limite del modulo.

Media

Transcodifica multimediale compatibile

La transcodifica multimediale compatibile consente ai dispositivi di utilizzare formati multimediali moderni ed efficienti in termini di archiviazione per l'acquisizione video, come HEVC, mantenendo la compatibilità con le app. Con questa funzionalità, i produttori di dispositivi possono utilizzare HEVC anziché AVC per impostazione predefinita per migliorare la qualità video riducendo i requisiti di archiviazione e larghezza di banda. Per ulteriori informazioni, consulta Transcodifica multimediale compatibile .

Prestazione

Ibernazione dell'app

Android 12 offre la possibilità di ibernare le app che l'utente non utilizza per alcuni mesi, in modo simile alla revoca automatica delle autorizzazioni.

Per ulteriori informazioni, vedere Ibernazione dell'app .

Livello di astrazione Cgroup

Il livello di astrazione del gruppo di controllo (cgroup) in Android 12 introduce nuove funzionalità, come la possibilità di definire controller cgroup specifici come opzionali e di utilizzare un nuovo comando task_profiles che sostituisce il comando writepid deprecato. Questa sostituzione garantisce che le implementazioni cgroup sottostanti non abbiano alcun effetto sui livelli superiori durante la migrazione delle attività nelle gerarchie cgroup. Android 12 introduce anche il supporto per i profili di attività a livello API.

Per ulteriori informazioni, vedere Livello di astrazione Cgroup .

Autorizzazioni

Autorizzazioni Bluetooth

Android 12 introduce i seguenti permessi Bluetooth, che sostituiscono i permessi BLUETOOTH e BLUETOOTH_ADMIN :

  • BLUETOOTH_SCAN : consente alle app di rilevare e associare i dispositivi Bluetooth nelle vicinanze.
  • BLUETOOTH_ADVERTISE : consente alle app di fare pubblicità ai dispositivi Bluetooth nelle vicinanze.
  • BLUETOOTH_CONNECT : consente alle app di connettersi a dispositivi Bluetooth accoppiati.

Queste autorizzazioni fanno parte del nuovo gruppo di autorizzazioni di runtime NEARBY_DEVICES . Questo gruppo di autorizzazioni consente casi d'uso come la connessione a uno smartwatch senza richiedere l'autorizzazione di runtime LOCATION .

Queste nuove autorizzazioni sono compatibili con le app e non sono necessarie modifiche per le app in esecuzione su Android 11 o versioni precedenti. Per le app legacy destinate ad Android 11 o versioni precedenti, la piattaforma traduce automaticamente le richieste per le autorizzazioni Bluetooth legacy in richieste per le nuove autorizzazioni. Quando un'app viene aggiornata alla versione Android 12 o successiva, l'app deve richiedere esplicitamente le nuove autorizzazioni Bluetooth.

Per ulteriori informazioni sull'utilizzo delle autorizzazioni, fare riferimento a Autorizzazioni Bluetooth .

Indicatori di privacy

Android 12 offre agli utenti trasparenza visualizzando indicatori quando un'app utilizza un'origine dati privata tramite le autorizzazioni di utilizzo dell'app per fotocamere e microfono.

App Ops tiene traccia sia dello stato dell'attività che del numero di singole chiamate API e interagisce con gli indicatori del microfono e della fotocamera in Android 12 per mostrare agli utenti quando le app hanno avuto accesso ai dati audio e della fotocamera sui loro dispositivi. Quando gli utenti fanno clic sugli indicatori del microfono o della fotocamera, vedono quali app hanno avuto accesso ai loro dati.

Questa funzionalità è obbligatoria per tutti gli OEM . Per ulteriori informazioni, vedere Indicatori sulla privacy .

Posizione

A partire da Android 12, gli utenti possono richiedere che un'app ottenga solo una precisione approssimativa quando accede alle informazioni sulla posizione.

Questa modifica è progettata per influenzare le app solo quando hanno come target Android 12 o versioni successive. Tuttavia, sui dispositivi che dispongono di una versione precedente del modulo PermissionController , questa modifica influisce su tutte le app, indipendentemente dalla versione dell'SDK di destinazione.

Durata

Controlli Dexpreopt e <uses-library>

Android 12 presenta modifiche al sistema di build per la compilazione anticipata (AOT) di file DEX (dexpreopt) per i moduli Java che hanno dipendenze <uses-library> . In alcuni casi queste modifiche al sistema di build possono interrompere le build.

Per informazioni su come prepararsi alle rotture e ricette per risolverle e mitigarle, vedere Dexpreopt e <uses-library> Checks .

Test

Suite di test di compatibilità (CTS)

Per Android 12 vengono introdotti molti nuovi moduli chiave e modifiche ai test per CTS. Per ulteriori informazioni, vedere le note sulla versione CTS .

tv

Servizio di controllo HDMI-CEC

Android 12 utilizza HDMI-CEC per controllare automaticamente i display collegati tramite HDMI quando un dispositivo si riattiva o va in modalità di sospensione.

Per ulteriori dettagli, consultare Servizio di controllo HDMI-CEC .

Struttura del sintonizzatore

Nell'Android 12:

  • Il frontend con Tuner HAL 1.1 o superiore supporta lo standard DTMB DTV. Sono supportate le seguenti funzionalità e impostazioni frontend:

    • DtmbFrontendCapabilities

    • DtmbFrontendSettings

  • L'API Tuner SDK supporta le nuove funzionalità di Tuner HAL 1.1, che è un aggiornamento della versione compatibile con le versioni precedenti di Tuner 1.0.

  • android.media.tv.tuner.TunerVersionChecker.getTunerVersion() controlla la versione HAL in esecuzione.

Aggiornamenti

Compressione APEX

Dopo l'installazione di un aggiornamento a un contenitore Android Pony EXpress (APEX), la sua versione preinstallata non viene più utilizzata, ma occupa la stessa quantità di spazio di memoria. Lo spazio occupato rimane non disponibile. In Android 12, la compressione APEX riduce al minimo l'impatto sullo spazio di archiviazione utilizzando un set altamente compresso di file APEX su partizioni di sola lettura (come la partizione /system ). Per informazioni sulla compressione APEX in Android 12, consulta APEX compressi .

Sicurezza e comodità di ripresa al riavvio

Android 12 introduce un supporto multi-client migliorato e funzionalità di riavvio basato su server. Il processo di ripristino al riavvio (RoR) fornisce maggiore sicurezza e comodità agli utenti perché gli aggiornamenti OTA possono essere effettuati durante i tempi di inattività del dispositivo, mentre le funzionalità di aggiornamento multi-client e basate su server di Android 12 forniscono insieme sicurezza di tipo hardware del dispositivo.

Per ulteriori informazioni, consulta Riprendi al riavvio .

Riproduzione PIN SIM con RoR

Android 12 offre la riproduzione del SIM-PIN per una verifica continua del codice PIN dopo un riavvio avviato da RoR. Il PIN della SIM viene nuovamente crittografato e archiviato ogni volta che un utente lo abilita, lo verifica o lo modifica con successo.

Per ulteriori informazioni, vedere Riproduzione PIN SIM .

Aggiornamenti A/B virtuali

Android 12 offre l'opzione di compressione A/B virtuale su partizioni con snapshot. In Android 12, le partizioni aggiornabili che il bootloader non utilizza possono essere istantanee per risparmiare spazio. Questi possono anche essere compressi. L'abilitazione della compressione degli snapshot nella build per Android 12 consente di risparmiare spazio sulla partizione /data .

L'implementazione di Virtual A/B con la compressione degli snapshot richiede modifiche al codice specifico del dispositivo. Consulta le modifiche e i dettagli di implementazione nelle pagine Panoramica A/B virtuale e Implementazione A/B virtuale .