Google ha presentato la prima versione di test della piattaforma mobile open source Android 14. Il rilascio di Android 14 è previsto per il terzo trimestre del 2023. Per valutare le nuove funzionalità della piattaforma è stato proposto un programma di testing preliminare. Le build del firmware sono state preparate per i dispositivi Pixel 7/7 Pro, Pixel 6/6a/6 Pro, Pixel 5/5a 5G e Pixel 4a (5G).
Innovazioni chiave di Android 14:
- Prosegue il lavoro per migliorare l'efficienza della piattaforma su tablet e dispositivi con schermi pieghevoli. Sono state aggiornate le raccomandazioni per lo sviluppo di applicazioni su dispositivi con schermi grandi e sono stati aggiunti modelli di interfaccia standard per grandi schermi, considerando applicazioni come social media, comunicazioni, contenuti multimediali, lettura e acquisti. È stato proposto un rilascio preliminare del Cross device SDK con strumenti per sviluppare applicazioni funzionanti correttamente su diversi tipi di dispositivi (smartphone, tablet, smart TV, ecc.) e vari formati.
- È stata ottimizzata la coordinazione delle operazioni in background che richiedono molte risorse, come il download di grandi file quando è disponibile una connessione Wi-Fi. Sono state effettuate modifiche alle API per il lancio dei servizi prioritari (Foreground Service) e la pianificazione delle attività (JobScheduler), includendo nuove funzionalità per le operazioni utente legate al trasferimento dei dati. Sono stati introdotti requisiti per specificare il tipo di servizi prioritari avviati (operazioni con la fotocamera, sincronizzazione dei dati, riproduzione di contenuti multimediali, tracciamento della posizione, accesso al microfono, ecc.). È stato semplificato il processo di attivazione del download dei dati, ad esempio per scaricare solo quando si è connessi tramite Wi-Fi.
- Il sistema interno di consegna dei messaggi broadcast per le applicazioni è ottimizzato per ridurre il consumo energetico e migliorare la reattività. È stato migliorato il ricevimento da parte delle applicazioni dei flussi di messaggi registrati: i messaggi possono essere messi in coda, aggregati (ad esempio, una serie di messaggi BATTERY_CHANGED sarà unita in uno solo) e consegnati solo dopo che l'applicazione esce dallo stato di cache.
- L'uso della funzionalità di esecuzione di operazioni a tempi precisi (exact alarms) nelle applicazioni richiede ora l'ottenimento di un'autorizzazione separata SCHEDULE_EXACT_ALARM, poiché l'uso di questa funzionalità può influire negativamente sulla durata della batteria e aumentare il consumo di risorse (per i compiti pianificati, si consiglia di utilizzare l'attivazione in un momento approssimativo). Le applicazioni con implementazioni di calendario e orario, che utilizzano l'attivazione a tempo preciso, devono ricevere l'autorizzazione USE_EXACT_ALARM al momento dell'installazione. Le pubblicazioni nel catalogo Google Play di applicazioni con autorizzazione USE_EXACT_ALARM sono consentite solo per programmi che implementano sveglie, timer e calendari con notifiche di eventi.
- Sono state ampliate le opzioni per la scalabilità dei caratteri, il livello massimo di ingrandimento dei caratteri è stato aumentato dal 130% al 200%, e affinché il testo non appaia eccessivamente grande con ingrandimenti elevati, ora viene applicata una modifica non lineare del livello di ingrandimento (il testo già grande non viene ingrandito tanto quanto il testo piccolo).

- È stata introdotta la possibilità di specificare impostazioni linguistiche legate a singole applicazioni. Gli sviluppatori di applicazioni possono ora modificare i parametri localeConfig tramite una chiamata a LocaleManager.setOverrideLocaleConfig per definire l'elenco delle lingue mostrate per l'applicazione nell'interfaccia di impostazione di Android.
- È stata aggiunta l'API Grammatical Inflection per semplificare l'inserimento di traduzioni di elementi dell'interfaccia che tengano conto delle lingue con sistemi di genere.
- Per prevenire l'intercettazione delle richieste intent da parte di applicazioni dannose, nella nuova versione l'invio di intent senza un'esplicita indicazione del pacchetto o del componente interno è vietato.
- È stata aumentata la sicurezza del caricamento dinamico del codice (DCL, Dynamic Code Loading): per evitare l'inserimento di codice dannoso nei file eseguibili caricati dinamicamente, questi file devono ora avere permessi di accesso che consentono solo la lettura.
- È vietata l'installazione di applicazioni dichiarate con una versione SDK inferiore a 23, il che consentirà di bloccare la by-pass delle restrizioni di autorizzazione attraverso il legame a API obsolete (la versione API 22 è vietata, poiché nella versione 23 (Android 6.0) è stato introdotto un nuovo modello di gestione degli accessi che consente di richiedere accesso ai sistemi risorse 'on the fly'. Le applicazioni già installate che utilizzano API obsolete continueranno a funzionare dopo l'aggiornamento di Android.
- È stato proposto un API Credential Manager e implementato il supporto per la tecnologia Passkeys, consentendo all'utente di autenticarsi senza password utilizzando identificatori biometrici come impronte digitali o riconoscimento facciale.
- Nel Android Runtime (ART) è stata implementata la supporto per OpenJDK 17 e per le capacità linguistiche e le classi Java offerte in questa versione, inclusi i record, le stringhe multilinea e il matching con il pattern nell'operatore 'instanceof'.
- Per semplificare il test delle applicazioni in base alle modifiche nella nuova versione di Android, agli sviluppatori è stata fornita la possibilità di attivare o disattivare selettivamente singole novità tramite la sezione Developer nel configuratore o nell'utilità adb.

Fonte: opennet.ru


