Note di rilascio di Android 12 e Android 12L

Questa pagina riassume le funzionalità principali delle versioni Android 12 e Android 12L e fornisce link a ulteriori informazioni. 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 inclusa la relativa factory method, 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, che in genere sono inclusi nella release del sistema operativo. In Android 11 e versioni precedenti, l'API è protetta da controlli che assicurano che il chiamante sia l'app Assistente attualmente attiva, rendendo l'API inutilizzabile da altre app di terze parti.

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

L'impatto di queste modifiche è il seguente:

  • Le app non di sistema che utilizzano la classe AlwaysOnHotwordDetector non vengono compilate in base all'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'utilizzo delle funzionalità di attivazione audio in fase di runtime. Per risolvere questo problema e consentire a queste app di accedere al microfono tramite l'attivazione vocale, dichiara le autorizzazioni RECORD_AUDIO e CAPTURE_AUDIO_HOTWORD per queste app.

Supporto del linguaggio Rust per Android

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

Per saperne di più su Android Rust, sui vari moduli e per visualizzare esempi (oltre a informazioni sulla configurazione dell'IDE), consulta la nuova sezione Android Rust all'indirizzo Introduzione ad Android Rust.

Intestazione dell'immagine di avvio

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

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

Modifiche all'implementazione di bootconfig

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

Per saperne di più, consulta 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 di 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à, consulta Implementazione del fallback dei caratteri personalizzati.

Heap DMA-BUF

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

Attivare i filtri per le impostazioni internazionali

Android 12 introduce una funzionalità che puoi utilizzare per configurare le lingue di sistema predefinite e i filtri delle impostazioni internazionali per i nuovi tipi di dispositivi. In questo modo, puoi impostare il valore della proprietà Filtro e la lingua predefinita tramite oem/oem.prop durante la calibrazione di fabbrica e configurare le limitazioni senza incorporare il filtro nell'immagine di sistema.

Per saperne di più, consulta Attivazione del filtro per la lingua.

Ramdisk del fornitore del flash

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

Per maggiori informazioni, vedi Lampeggiare i ramdisk del fornitore nella pagina Fastboot in Userspace.

Controllo delle versioni del GKI

A partire da Android 12, la parte della versione KMI relativa alla release di Android può essere estratta dal kernel e inserita nel manifest del dispositivo al momento della build.

Per ulteriori dettagli, consulta Controllo delle versioni di GKI.

Eventi MM - statistiche di memoria storiche

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

Per informazioni su come utilizzare le statistiche di mm_events, consulta Eventi MM - Statistiche storiche sulla memoria.

Limitazioni della finestra di avviso del sistema

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

Alle app preinstallate non viene concesso automaticamente l'appOp SYSTEM_ALERT_WINDOW 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 di overlay delle applicazioni sopra di esse. Ciò fornisce un meccanismo di protezione contro gli attacchi in stile cloak and dagger. Questa funzionalità è disponibile per tutte le app, in modo che quelle sensibili alla sicurezza, come le app bancarie, possano proteggersi. Per utilizzare questa funzionalità, un'app deve dichiarare l'autorizzazione HIDE_OVERLAY_WINDOWS nel 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 la versione 4 dell'intestazione dell'immagine di avvio supportano più ramdisk del fornitore nella partizione vendor_boot. Questi frammenti di ramdisk vengono 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 ogni frammento ramdisk del fornitore.

A causa delle modifiche alle partizioni di avvio del fornitore in Android 12 e versioni successive, non puoi utilizzare default come nome di frammento ramdisk del fornitore. È designato come riservato. Il suo utilizzo per denominare i frammenti ramdisk del fornitore non è consentito in nessuna circostanza.

Per scoprire di più, consulta le sezioni Partizioni di avvio del fornitore e Più ramdisk del fornitore.

Audio

Routing del dispositivo audio combinato

La funzionalità di routing combinato dei dispositivi audio aggiunge il supporto per lo streaming audio a più dispositivi audio contemporaneamente. Utilizzando questa funzionalità, le app con privilegi possono selezionare più dispositivi preferiti per una determinata strategia tramite le 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 Instradamento combinato dei dispositivi audio.

Aggiornamenti di Audio HAL V7

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

Per saperne di più, consulta la sezione Aggiornamenti di Audio HAL V7 e l'esempio di policy audio.

Fotocamera

Voce dei metadati statici della videocamera per i dispositivi pieghevoli

Android 12 introduce la voce di metadati statici della videocamera deviceStateOrientationMap che consente all'HAL della videocamera di informare il client della videocamera e il framework della videocamera delle modifiche all'orientamento del sensore attivate da una modifica dello stato di chiusura di un dispositivo. I dispositivi pieghevoli possono utilizzare facoltativamente una o più videocamere logiche composte da dispositivi fisici con orientamenti del sensore diversi per i 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 dell'acquisizione.

Per informazioni più dettagliate, vedi metadata_definitions.xml.

Requisito di supporto dell'estensione 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, vedi Configurare la libreria dei fornitori su un dispositivo.

Supporto del sensore della 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 pattern quad o nona 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 del fatto che potrebbero supportare diverse configurazioni e combinazioni di stream quando funzionano in modalità "risoluzione massima" anziché 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 di supporto ADN per le schede SIM

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

Per maggiori dettagli, vedi Schermo e spazio di archiviazione.

Aggiornamenti ITS della videocamera

Android 12 introduce vari aggiornamenti alla suite di test delle immagini della fotocamera (ITS), tra cui test nuovi e aggiornati, refactoring in Python 3 e l'adozione del framework di test Mobly.

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

Aggiornamenti CDD

Il Compatibility Definition Document di Android 12 si basa sulle versioni precedenti con aggiornamenti per nuove funzionalità e modifiche ai requisiti per le funzionalità rilasciate in precedenza.

Connettività

Slicing della rete 5G

Android 12 supporta lo slicing della rete 5G, ovvero l'utilizzo della virtualizzazione di rete per dividere le singole connessioni di rete in più connessioni virtuali distinte che forniscono quantità diverse di risorse a diversi tipi di traffico. In questo modo, gli operatori di rete possono dedicare una parte della rete a fornire funzionalità specifiche per un segmento particolare di clienti.

Per saperne di più, consulta la sezione Slicing della rete 5G.

Profili di Gestione dispositivi associati

Le app che hanno come target Android 12 e versioni successive possono utilizzare i profili dei dispositivi complementari quando si connettono a uno smartwatch. L'utilizzo di un profilo semplifica la procedura di registrazione raggruppando la concessione di un insieme di autorizzazioni specifiche per il tipo di dispositivo in un unico passaggio.

Screenshot di uno smartphone che mostra un prompt che offre di concedere
le autorizzazioni

Le autorizzazioni raggruppate vengono concesse all'app complementare una volta che il dispositivo si connette e durano solo per il periodo di associazione del dispositivo. L'eliminazione dell'app o la rimozione dell'associazione comporta la rimozione delle autorizzazioni.

Per saperne di più, vedi Profili dei dispositivi complementari.

Diritto di servizio IMS (TS.43)

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

Per ulteriori informazioni, vedi IMS Service Entitlement.

Registrazione singola IMS

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

Per ulteriori informazioni, consulta Registrazione singola IMS.

Rilevamento del fuso orario in base alla posizione

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

Per saperne di più, vedi Rilevamento del fuso orario della località.

Randomizzazione dell'indirizzo 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, vedi Comportamento della randomizzazione MAC.

Selezione rete

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

Per saperne di più, vedi Selezione della rete.

Notification CallStyle

A partire da Android 12, consigliamo alle app di utilizzare il nuovo stile di notifica, CallStyle, per le chiamate vocali e videochiamate in arrivo e in corso. Questo stile di notifica include pulsanti di azione per rispondere, rifiutare e riagganciare le chiamate. Inoltre, utilizza lo stesso stile incentrato sulla persona utilizzato da Conversazioni, che è coerente con il suo comportamento di classificazione delle notifiche di chiamata nella parte superiore della tendina.

Per utilizzare lo stile di notifica CallStyle, le app devono utilizzare un intent a schermo intero o un servizio in primo piano (con l'autorizzazione associata). Questo stile classifica le notifiche per le chiamate nella parte superiore dell'area notifiche. Per le chiamate in corso, questo stile aggiunge un chip alla barra di stato che consente agli utenti di tornare rapidamente all'app di chiamata.

Per saperne di più, consulta la sezione Notifiche di chiamata.

Aggiornamenti di Passpoint

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

Per saperne di più su queste funzionalità, consulta Passpoint (Hotspot 2.0).

Aggiornamenti di Accesso rapido a Wallet

In Android 12 o versioni successive, la funzionalità Accesso rapido a Wallet è disponibile dalla tendina delle notifiche anziché dal menu del tasto di accensione come in Android 11. La UI di Wallet ora viene eseguita nella UI di sistema e si trova in frameworks/base/packages/SystemUI/src/com/android/systemui/wallet.

Per maggiori informazioni, vedi Portafoglio ad accesso rapido.

Esperienza utente semplificata per la connettività

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

Per saperne di più, consulta Interfaccia utente di connettività.

Priorità dell'origine dell'ora

A partire da Android 12, il framework assegna la priorità all'origine ora NTP (Network Time Protocol) rispetto all'origine NITZ (Network Identity and Time Zone) per impostazione predefinita.

Per informazioni dettagliate su come configurare e testare la priorità della fonte oraria sul tuo dispositivo, vedi Priorità della fonte oraria.

Attiva/disattiva per disattivare il 2G

Per migliorare la sicurezza, Android 12 introduce un'opzione di attivazione/disattivazione del 2G nelle Impostazioni che consente agli utenti di disattivare completamente le connessioni cellulari 2G. Per questa funzionalità deve essere implementato l'HAL Radio 1.6.

La funzionalità di attivazione/disattivazione del 2G è abilitata per impostazione predefinita. Gli operatori possono disattivare la funzionalità in fase di runtime tramite il flag CarrierConfig KEY_HIDE_ENABLE_2G.

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

Specifiche UICC

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

Per saperne di più, consulta la sezione Preparare la UICC.

Contemporaneità 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 duale (AP+AP) con bridging.

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

Evitare i canali di coesistenza Wi-Fi/rete mobile

Android 12 introduce la funzionalità Evitamento dei canali di coesistenza Wi-Fi/cellulare, che identifica e impedisce l'utilizzo di canali Wi-Fi non sicuri in caso di interferenza tra i canali cellulari. Ciò include interfacce come STA, SoftAp, Wi-Fi Direct (P2P), Wi-Fi Aware (NAN).

Miglioramenti al protocollo di sicurezza Wi-Fi

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

Per saperne di più, vedi 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 saperne di più, consulta Wi-Fi STA/STA Concurrency.

Dispositivi

Nuove funzionalità per le auto di Android 12

Consulta la sezione Novità per il settore automobilistico per scoprire di più su queste nuove funzionalità:

Visualizzazione

Bloccare i tocchi non attendibili

Per preservare la sicurezza del sistema e garantire una buona esperienza utente, Android 12 aggiunge il supporto per il blocco degli eventi tocco non attendibili. In questo modo le app non consumano eventi tocco quando una sovrapposizione oscura l'app in modo non sicuro.

Notifiche e widget delle conversazioni

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

Per saperne di più, vedi Notifiche e widget delle conversazioni.

Sfocature delle finestre

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 tutto ciò che si trova dietro la tua finestra. Puoi creare finestre con sfondi sfocati, creando un effetto vetro smerigliato, oppure mostrare finestre con l'intero schermo sfocato dietro, creando un effetto di profondità di campo. Puoi anche combinarli.

Per saperne di più su questa nuova funzionalità e su come implementarla, consulta la pagina Sfocature delle finestre.

Ingrandimento finestra

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

Per ulteriori informazioni, vedi Lente d'ingrandimento.

Aziende

Aggiornamenti all'amministrazione dei dispositivi

Android 12 include i seguenti aggiornamenti dell'amministrazione dei dispositivi:

  • Aggiornamenti della separazione dei dati dei profili gestiti. 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 della registrazione che identifica la registrazione del profilo di lavoro per un'organizzazione specifica. Per maggiori dettagli, vedi Identificatori del dispositivo.

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

Grafica

Gestione dell'inserimento a caldo in Composer HAL

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

Per ulteriori informazioni, consulta Gestione dell'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 ottimizzazioni, le funzionalità e le correzioni di bug più recenti del runtime gestito.

  • Pianificazione dei dispositivi: Questo modulo contiene la logica che rileva se il dispositivo è in stato di inattività e può essere riavviato senza interruzioni per l'utente.

Aggiornamenti ai moduli esistenti:

  • adbd: è stato aggiornato il limite del modulo.

  • DocumentsUI: navigazione file disattivata.

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

  • Media: è stato aggiunto un nuovo componente multimediale.

  • NNAPI Runtime: è stato aggiornato il limite del modulo.

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

  • Estensioni SDK: È stata aggiornata la responsabilità del modulo ed è stato aggiunto un nuovo componente.

  • Statsd: è stato aggiornato il limite del modulo.

  • Tethering: l'aggiunta della funzionalità ha aggiornato il limite del modulo.

  • Dati del fuso orario: è stato aggiornato il formato del pacchetto.

  • Wi-Fi: è stato aggiornato il limite del modulo.

Contenuti multimediali

Transcodifica in contenuti multimediali compatibili

La transcodifica multimediale compatibile consente ai dispositivi di utilizzare formati multimediali moderni ed efficienti 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 al contempo i requisiti di spazio di archiviazione e larghezza di banda. Per ulteriori informazioni, consulta Transcodifica multimediale compatibile.

Prestazioni

Ibernazione delle app

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

Per saperne di più, consulta Ibernazione delle 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 facoltativi e di utilizzare un nuovo comando task_profiles che sostituisce il comando writepid ritirato. Questa sostituzione garantisce che le implementazioni cgroup sottostanti non influiscano sui livelli superiori durante la migrazione delle attività nelle gerarchie cgroup. Android 12 introduce anche il supporto dei profili delle attività per livello API.

Per saperne di più, consulta Cgroup Abstraction Layer.

Autorizzazioni

Autorizzazioni Bluetooth

Android 12 introduce le seguenti autorizzazioni Bluetooth, che sostituiscono le autorizzazioni BLUETOOTH e BLUETOOTH_ADMIN:

  • BLUETOOTH_SCAN: Consente alle app di rilevare e accoppiare dispositivi Bluetooth nelle vicinanze.
  • BLUETOOTH_ADVERTISE: Consente alle app di trasmettere annunci ai dispositivi Bluetooth nelle vicinanze.
  • BLUETOOTH_CONNECT: Consente alle app di connettersi ai 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 che hanno come target 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 per scegliere come target Android 12 o versioni successive, deve richiedere esplicitamente le nuove autorizzazioni Bluetooth.

Per saperne di più sull'utilizzo delle autorizzazioni, consulta Autorizzazioni Bluetooth.

Indicatori della privacy

Android 12 offre agli utenti trasparenza mostrando indicatori quando un'app utilizza un'origine dati privata tramite le autorizzazioni app-op per fotocamere e microfono.

App Ops monitora sia lo stato di attività sia il numero di singole chiamate API e interagisce con gli indicatori microfono e 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 saperne di più, consulta la sezione Indicatori della 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 interessare le app solo quando hanno come target Android 12 o versioni successive. Tuttavia, sui dispositivi con una versione precedente del modulo PermissionController, questa modifica interessa tutte le app, indipendentemente dalla versione dell'SDK di destinazione.

Runtime

Controlli Dexpreopt e <uses-library>

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

Per informazioni su come prepararsi alle interruzioni e ricette per risolverle e mitigarle, consulta Controlli Dexpreopt e <uses-library>.

Test

Suite di test di compatibilità (Compatibility Test Suite, CTS)

Per Android 12, sono stati introdotti molti nuovi moduli chiave e modifiche ai test per CTS. Per saperne di più, consulta le note di rilascio di 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 entra in modalità di sospensione.

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

Framework del sintonizzatore

In Android 12:

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

    • DtmbFrontendCapabilities

    • DtmbFrontendSettings

  • L'API Tuner SDK supporta nuove funzionalità in Tuner HAL 1.1, che è un upgrade di versione retrocompatibile 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 di un container 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 questo impatto sullo spazio di archiviazione utilizzando un insieme di file APEX altamente compressi su partizioni di sola lettura (come la partizione /system). Per informazioni sulla compressione APEX in Android 12, vedi APEX compressi.

Sicurezza e praticità della ripresa all'avvio

Android 12 introduce il supporto multi-client migliorato e la funzionalità di riavvio basata su server. La procedura di ripristino all'avvio (RoR) offre maggiore sicurezza e praticità agli utenti perché gli aggiornamenti OTA possono essere eseguiti durante i periodi di inattività del dispositivo, mentre le funzionalità di aggiornamento multi-client e basate su server di Android 12 forniscono insieme una sicurezza di tipo hardware del dispositivo.

Per saperne di più, consulta Ripresa al riavvio.

Riproduzione del PIN della SIM con RoR

Android 12 include la riproduzione del PIN della SIM per una verifica del codice PIN senza interruzioni dopo un riavvio avviato da RoR.Il PIN della SIM viene nuovamente criptato e memorizzato ogni volta che un utente lo attiva, verifica o modifica.

Per saperne di più, vedi Riproduzione del PIN della SIM.

Aggiornamenti A/B virtuali

Android 12 offre l'opzione di compressione A/B virtuale sulle partizioni snapshot. In Android 12, le partizioni aggiornabili che il bootloader non utilizza possono essere sottoposte a snapshot per risparmiare spazio. Questi possono anche essere compressi. L'attivazione della compressione degli snapshot nella build per Android 12 consente di risparmiare spazio nella 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 di A/B virtuale e Implementazione di A/B virtuale.