Azienda Google rilascio della piattaforma mobile open source . I testi di origine relativi al nuovo rilascio sono stati pubblicati in progetto (ramo android-11.0.0_r1). Gli aggiornamenti del firmware sono stati preparati per i dispositivi della serie , così come per gli smartphone prodotti da OnePlus, Xiaomi, OPPO e Realme. Inoltre sono disponibili build GSI (Generic System Images) universali, adatte a diversi dispositivi basati su architetture ARM64 e x86_64.
:
- Sono state apportate modifiche mirate a semplificare la comunicazione tra le persone tramite smartphone. Nella sezione a discesa in alto con le notifiche è stata implementata una sezione riassuntiva dei messaggi, che consente di visualizzare e rispondere ai messaggi da tutte le applicazioni in un unico posto (i messaggi vengono visualizzati senza distinzione tra app separate). Ai messaggi importanti è possibile assegnare lo stato di prioritario, affinché siano sempre visibili e mostrati anche in modalità 'non disturbare'.
È stata attivata la concetto di 'bolle', finestre di dialogo che si aprono per svolgere azioni in altre applicazioni senza lasciare il programma attuale. Ad esempio, grazie alle bolle, si può continuare a conversare in un'app di messaggistica, inviare rapidamente messaggi, tenere a vista una lista di attività, prendere appunti, accedere a servizi di traduzione e ricevere promemoria visivi, mentre si lavora in altre applicazioni.
- La tastiera a schermo ha implementato un sistema di suggerimenti contestuali per rispondere rapidamente ai messaggi, proponendo emoji o risposte predefinite che si adattano al messaggio ricevuto (ad esempio, se ricevi il messaggio 'com'è andato l'incontro?', offre 'ottimo'). Questo meccanismo è stato realizzato tramite metodi di apprendimento automatico e la piattaforma , che consente di fornire raccomandazioni sul dispositivo locale senza contattare servizi esterni.
È stata proposta un'interfaccia per un accesso rapido agli strumenti di gestione dei dispositivi collegati, come i sistemi di gestione della casa intelligente, richiamabile mediante una lunga pressione del pulsante di accensione. Ad esempio, ora è possibile regolare rapidamente le impostazioni del termostato domestico, accendere le luci e sbloccare le porte senza avviare programmi separati. Nell'interfaccia sono anche disponibili pulsanti per selezionare rapidamente i sistemi di pagamento collegati e le carte d'imbarco elettroniche.
Sono stati aggiunti nuovi elementi di controllo per la riproduzione dei contenuti multimediali, che consentono di cambiare rapidamente e facilmente il dispositivo attraverso il quale avviene la riproduzione di video o audio. Ad esempio, è possibile passare rapidamente la riproduzione della musica dalle cuffie alla televisione o a casse esterne.

- È stata aggiunta la supporto alla concessione di autorizzazioni temporanee, che consente a un'app di eseguire un'operazione con privilegi una volta e, alla successiva richiesta di accesso, di richiedere nuovamente conferma. Ad esempio, è possibile impostare la richiesta di autorizzazione ogni volta che si accede al microfono, alla fotocamera o all'API di geolocalizzazione.
È stata implementata la possibilità di bloccare automaticamente le autorizzazioni richieste per le app che non sono state avviate per più di tre mesi. Quando si attiva il blocco, viene visualizzata una notifica speciale con l'elenco delle app non avviate da tempo, che consente di ripristinare le autorizzazioni, rimuovere l'app o mantenerla bloccata.
- È stata integrata la possibilità di creare screencast con registrazione delle modifiche sullo schermo e del suono del microfono.
- È stata semplificata l'estrazione di testo e immagini per memorizzarle negli appunti e condividerle tra le applicazioni.
- È stato modernizzato il sistema di controllo vocale del dispositivo (), consentendo di gestire lo smartphone esclusivamente tramite comandi vocali. Voice Access ora comprende il contenuto dello schermo e tiene conto del contesto, oltre a generare etichette per i comandi di accessibilità.
- È stata aggiunta la funzione «Condivisione nelle vicinanze» per un invio rapido e sicuro di file, video, dati sulla posizione e altre informazioni a dispositivi vicini basati su Android o con browser Chrome.
- Nell'Android Emulator è stata aggiunta una funzionalità sperimentale per eseguire codice di applicazioni a 32 e 64 bit compilate per architettura ARM, in un ambiente eseguito con un'immagine di sistema Android 11 compilata per architettura x86_64. L'emulatore supporta anche la simulazione dell'uso della fotocamera frontale e posteriore. Per la fotocamera posteriore è stato implementato l'API Camera2 HW con supporto per la rielaborazione YUV e cattura in modalità RAW.
Per la fotocamera frontale è stato implementato il livello con supporto per la fotocamera logica (un dispositivo logico basato su due dispositivi fisici con angolo stretto e largo). - È stata ampliata la supporto per lo standard di comunicazione mobile 5G, che offre una maggiore larghezza di banda e minori latenze. Le applicazioni che creano un carico di rete elevato, eseguendo tali operazioni come la visione di video in streaming con qualità 4K e il caricamento di risorse di gioco ad alta risoluzione, possono ora funzionare non solo attraverso connessione Wi-Fi, ma anche tramite rete mobile. Per semplificare l'adattamento delle operazioni delle applicazioni tenendo conto dei canali di comunicazione 5G, è stato ampliato l'API , utilizzato per verificare se la connessione è fatturata in base al traffico e se è possibile trasferire grandi volumi di dati attraverso di essa. Questa API ora comprende le reti mobili e consente di determinare la connessione a un fornitore che offre una tariffa realmente illimitata durante la connessione tramite 5G. È stata aggiunta l'API sullo stato del 5G, che consente all'applicazione di determinare rapidamente la connessione tramite 5G in modalità o .
È stato inoltre ampliato l'API , che consente di prevedere la larghezza di banda disponibile per il download o l'invio di dati, senza effettuare test di rete propri.
- È stato aggiunto il supporto per nuovi tipi di schermi 'pinhole' (lo schermo copre tutta la superficie anteriore dello smartphone, ad eccezione di un piccolo cerchio nell'angolo in alto a sinistra per la fotocamera frontale) e 'waterfall' (lo schermo si estende anche sui bordi arrotondati del dispositivo). La presenza di aree visibili e cieche su questi schermi può ora essere determinata dalle applicazioni utilizzando l'API standard . Per coprire i bordi e organizzare l'interazione nelle aree vicine ai bordi degli schermi 'waterfall', sono stati proposti nell'API .
- Sono state aggiunte nuove opzioni per controllare l'accesso delle applicazioni ai dati personali. Oltre alla modalità di accesso alla posizione solo durante l'uso dell'app (l'accesso in background è bloccato), in Android 11 c'è il supporto per autorizzazioni temporanee. L'utente può ora fornire all'app un accesso temporaneo a autorizzazioni chiave, come l'accesso alla posizione, al microfono e alla fotocamera. L'autorizzazione è valida per la durata della sessione corrente e viene revocata non appena l'utente passa a un'altra app.
- Sono state apportate modifiche per semplificare la migrazione delle applicazioni allo storage.
, che consente di isolare i file delle applicazioni su un'unità esterna (ad esempio, su una scheda SD). Con l'uso dello Scoped Storage, i dati delle applicazioni sono limitati a una directory separata, mentre l'accesso alle collezioni di file multimediali condivisi richiede autorizzazioni separate. In Android 11 è stata implementata la supporto a una modalità opzionale di accesso ai dispositivi tramite percorsi di file completi,
l'API DocumentsUI è stata aggiornata, è stata aggiunta la possibilità di eseguire operazioni batch in MediaStore. - Sono state ampliate le funzionalità per di sensori biometrici per l'autenticazione. Nell'API BiometricPrompt, che offre un dialogo universale per l'autenticazione biometrica, è stata introdotta la supporto per tre tipi di autenticatori: affidabili, non affidabili e credenziali di dispositivo. È stata semplificata l'integrazione di BiometricPrompt con diverse architetture di applicazioni, che non sono limitate all'uso della classe .
- Nella costruzione di componenti di piattaforma che richiedono maggiore sicurezza, sono stati coinvolti meccanismi di protezione attivi durante la fase di compilazione (Control Flow Integrity), , (Integer Overflow Sanitization) e . Per rilevare problemi di gestione della memoria nelle applicazioni è stata inclusa la verifica dei puntatori nella heap basata sui tag ad essi associati (). Per trovare errori di gestione della memoria è stata inclusa un'immagine di sistema aggiuntiva con un meccanismo di debug (Hardware-assisted AddressSanitizer).
- È stato preparato l'API , che consente di organizzare uno scambio sicuro di dati binari tra applicazioni. Ad esempio, questo API può essere utilizzato per fornire a più applicazioni accesso a modelli di machine learning, quando queste applicazioni vengono avviate da un unico utente.
- È stata aggiunta la supporto per piattaforme per la conservazione e il recupero sicuro di documenti identificativi verificabili, come patenti di guida elettroniche.
- Nell'ambito del progetto Mainline, che consente di aggiornare singoli componenti di sistema senza la necessità di un aggiornamento completo della piattaforma, sono stati preparati 12 nuovi moduli aggiornabili, in aggiunta ai 10 moduli disponibili in Android 10. Gli aggiornamenti riguardano componenti non legati all'hardware, che vengono scaricati tramite Google Play separatamente dagli aggiornamenti OTA del firmware del produttore. Tra i nuovi moduli che potranno essere aggiornati tramite Google Play senza necessità di aggiornare il firmware ci sono un modulo per la gestione delle autorizzazioni, un modulo per la gestione dei dispositivi di archiviazione (con supporto per lo Scoped Storage) e un modulo con NNAPI (Neural Networks API).
- lavoro per ridurre l'impatto delle modifiche al comportamento di alcuni sottosistemi sul funzionamento delle applicazioni. Le nuove funzionalità che possono influire sul funzionamento delle applicazioni possono ora essere disattivate e regolabili a livello di SDK. Per semplificare il testing della compatibilità delle applicazioni con Android 11, nell'interfaccia delle Opzioni Sviluppatore e nell'utilità adb sono state fornite impostazioni per attivare e disattivare le funzionalità che influenzano la compatibilità (per consentire di testare senza la necessità di modificare il targetSdkVersion e senza ricompilare l'applicazione). Aggiornati anche gli elenchi neri delle interfacce programmatiche limitate, non fornite nel SDK.
- È stato aggiunto un framework , che consente di caricare dinamicamente risorse aggiuntive durante l'esecuzione dell'applicazione.
- Nel servizio di verifica delle chiamate è stata aggiunta la possibilità di trasmettere alle applicazioni lo stato di verifica delle chiamate in arrivo, che può essere utilizzato per generare dialoghi personalizzati dopo la gestione della chiamata, ad esempio, includendo azioni aggiuntive per contrassegnare una chiamata come spam o per aggiungerla alla rubrica.
- Migliorato l'API , che consente all'applicazione (gestore di connessione di rete) di influenzare l'algoritmo di selezione delle reti wireless preferite tramite la trasmissione di un elenco di reti classificate, tenendo in considerazione ulteriori metriche nella scelta della rete, come informazioni sulla larghezza di banda e qualità della connessione durante il precedente collegamento. Aggiunta la possibilità di gestione delle reti wireless che supportano lo standard (Passpoint), compreso il monitoraggio del tempo di scadenza del profilo utente e la possibilità di utilizzare certificati autofirmati nei profili.
- Nell'API ImageDecoder è stata aggiunta la supporto per la decodifica e visualizzazione di immagini animate nel formato HEIF (HEIC di Apple), che utilizza metodi di compressione HEVC (H.265). Rispetto alle immagini animate GIF, il formato HEIF consente di ridurre significativamente le dimensioni del file.
- Nell'NDK è stato aggiunto un API per l'uso nel codice nativo delle operazioni di codifica e decodifica delle immagini (JPEG, PNG, WebP, ecc.), senza l'uso di librerie di terze parti. Il nuovo API permette di ridurre le dimensioni dei file APK delle app native e di risolvere il problema dell'aggiornamento delle librerie incorporate, che possono contenere vulnerabilità.
- Le app per l'uso della fotocamera ora possono disattivare temporaneamente la vibrazione (ad esempio, durante la visualizzazione delle notifiche) per bloccare il suo attivarsi durante la sessione con la fotocamera.
- È stata fornita la possibilità di attivare i modalità (sfocatura dello sfondo nella foto) per i dispositivi che li supportano (ad esempio, la modalità still offre una qualità dell'immagine superiore, mentre la modalità continuous offre una corrispondenza più precisa con i dati del sensore).
- Aggiunto un API per e modalità di riproduzione video a bassa latenza, richieste nelle applicazioni per lo streaming in tempo reale. Inoltre, è stato aggiunto il supporto per la modalità di lavoro HDMI a bassa latenza (modalità gioco), in cui per ridurre la latenza sul televisore o sul monitor esterno viene disattivata l'elaborazione grafica.
- Per i dispositivi con schermi pieghevoli API per ricevere informazioni dal sensore dell'angolo di apertura degli schermi. Grazie al nuovo API, le app possono determinare l'angolo esatto di apertura e adattare l'output di conseguenza.
- L'API per la verifica delle chiamate è stata ampliata con funzionalità per rilevare le chiamate automatiche. Per le app che filtrano le chiamate è stata implementata la possibilità di verificare lo stato della chiamata in entrata tramite per rilevare la falsificazione dell'identificativo del chiamante, così come restituire il motivo del blocco della chiamata e modificare il contenuto dello schermo di sistema visualizzato al termine della chiamata per contrassegnare la chiamata come spam o aggiungerla alla rubrica.
- L'API è stata ampliata , offrendo alle applicazioni la possibilità di sfruttare le risorse di accelerazione hardware per i sistemi di apprendimento automatico. L'API è posizionata come un livello di base per il funzionamento nei framework di apprendimento automatico per Android, come e Caffe2.
È stata aggiunta la supporto per la funzione di attivazione , che consente di ridurre il tempo di addestramento della rete neurale e migliorare la precisione nell'esecuzione di compiti specifici, come accelerare il lavoro con i modelli di visione artificiale basati su . Aggiunta l'operazione Control, che consente di creare modelli di machine learning più avanzati, supportando diramazioni e cicli. Implementata l'API Asynchronous Command Queue per ridurre i ritardi durante l'avvio in cascata di piccoli modelli correlati.
Per l'uso su dispositivi mobili è stata proposta una serie di modelli di reti neurali pronte all'uso, tra cui (riconoscimento degli oggetti nelle foto), (visione artificiale) e Smart
Reply (selezione delle risposte ai messaggi). è supportata la quantizzazione avanzata utilizzando numeri interi con segno invece di numeri in virgola mobile, il che consente di ridurre la dimensione dei modelli e accelerare l'interazione con essi. Inoltre, nell'API Quality of Service sono state aggiunte funzionalità per gestire le priorità e i timeout durante l'esecuzione dei modelli, e l'API Memory Domain è stata ampliata per ridurre le operazioni di copia e conversione della memoria durante l'esecuzione sequenziale dei modelli. - Aggiunti tipi separati di servizi in background per fotocamera e microfono, che dovranno essere richiesti se l'app ha bisogno di accedere alla fotocamera e al microfono durante l'inattività.
- Aggiunti nuovi API per l'uscita degli elementi dell'interfaccia delle applicazioni con l'apparizione della tastiera sullo schermo per organizzare un'animazione di uscita più fluida grazie all'informazione dell'applicazione sui cambiamenti a livello di singoli fotogrammi.
- API per gestire la frequenza di aggiornamento dello schermo, consentendo a finestre di determinati giochi e applicazioni di impostare una frequenza diversa (ad esempio, per impostazione predefinita Android utilizza una frequenza di aggiornamento di 60Hz, ma alcuni dispositivi consentono di aumentarla a 90Hz).
- modalità di continuazione senza interruzioni dopo l'installazione di un aggiornamento OTA del firmware, che richiede il riavvio del dispositivo. La nuova modalità consente alle applicazioni di mantenere l'accesso allo storage crittografato senza la necessità di sbloccare il dispositivo da parte dell'utente dopo il riavvio, cioè le applicazioni possono immediatamente continuare a svolgere le loro funzioni e ricevere messaggi. Ad esempio, l'installazione automatica di un aggiornamento OTA può essere pianificata per la notte e svolta senza l'intervento dell'utente.
- Aggiunto per ottenere informazioni sui motivi per cui il programma è terminato, consentendo di determinare se il programma sia terminato per iniziativa dell'utente, a causa di un crash o sia stato forzatamente chiuso dal sistema operativo. L'API consente anche di valutare lo stato del programma immediatamente prima della chiusura.
- Aggiunto , un analizzatore della memoria heap, che consente di trovare e risolvere problemi causati da operazioni non sicure sulla memoria. GWP-ASan analizza le operazioni di allocazione della memoria con costi minimi e identifica anomalie. Per impostazione predefinita, GWP-ASan è attivato per i file eseguibili della piattaforma e le applicazioni di sistema. Per applicare GWP-ASan alle proprie applicazioni è necessaria un'attivazione separata.
- Nell'utilità ADB (Android Debug Bridge) la modalità di installazione incrementale degli APK («adb install —incremental»), che consente di accelerare notevolmente l'installazione di grandi programmi, come i giochi, durante il loro sviluppo. La sostanza della modalità è che, durante l'installazione, vengono trasferite prima le parti necessarie per l'avvio del pacchetto, mentre il resto viene scaricato in background, senza bloccare la possibilità di avviare il programma. Ad esempio, durante l'installazione di file APK superiori a 2GB, in questa nuova modalità il tempo necessario per poter avviare l'app si riduce fino a 10 volte. Le installazioni incrementali funzionano attualmente solo sui dispositivi Pixel 4 e 4XL; al rilascio, il numero di dispositivi supportati sarà ampliato.
- Completamente modalità di debug con avvio di ADB sopra una connessione wireless. A differenza del debug con connessione TCP/IP, il debug tramite Wi-Fi non richiede un cavo per la configurazione e può ricordare le connessioni tra dispositivi effettuate in precedenza. Sono previsti anche piani per implementare uno schema di associazione più semplice tramite codice QR mostrato in Android Studio.
- Aggiornati gli strumenti per accesso ai dati, che consente di analizzare a quali dati utente accede l'applicazione e dopo quali azioni dell'utente. alcuni inviti API per l'audit.
- È stata aggiunta la modalità «Ethernet tethering», che consente di fornire accesso a Internet tramite lo smartphone usando adattatori Ethernet collegati tramite la porta USB.
- Nelle impostazioni è stata aggiunta una sezione con la cronologia delle notifiche e la possibilità di impostare un programma per attivare il tema scuro.

Fonte: opennet.ru

