Play Store richiederà app nuove e aggiornate per raggiungere livelli API più recenti e distribuire codice nativo con supporto a 64 bit

Google ha annunciato una serie di nuovi importanti requisiti per le nuove applicazioni e le applicazioni che vengono aggiornate sul Google Play Store. Prepara subito le tue app!

In un post sul blog di oggi, Google ha annunciato importanti modifiche imminenti alle applicazioni inviate al Play Store. Queste modifiche sono progettate per migliorare la sicurezza per l'utente finale richiedendo che gli sviluppatori si rivolgano ai livelli API più recenti. Inoltre, Google inizierà anche a richiedere che le applicazioni che distribuiscono librerie native forniscano anche versioni a 64 bit di tali librerie. Questi cambiamenti non entreranno in vigore rispettivamente fino alla metà del 2018 e alla metà del 2019, quindi gli sviluppatori avranno tutto il tempo per lavorare sugli aggiornamenti per soddisfare questi nuovi requisiti. Analizziamo un po' più a fondo il significato di questi cambiamenti sia per gli sviluppatori che per gli utenti finali.


Modifica n. 1: targeting per un livello API più recente

Il livello API più attuale è 27, che corrisponde a Versione Android 8.1. Prima c'è il livello API 26 che corrisponde ad Android 8.0 Oreo. Di partenza Agosto 2018, Qualunque nuove applicazioni che vengono inviati al Play Store deve avere come target almeno il livello API 26. Inoltre, a partire Novembre 2018, aggiornamenti alle applicazioni esistenti deve anche livello API target 26 o superiore.

Questi requisiti, tuttavia, non sono statici. Nel 2019, Google lo farà incrementare il requisito targetSdkVersion dopo un anno da ogni versione principale di Android. Ad esempio, un anno dopo il rilascio di Android P, le applicazioni devono avere come target il livello API 28 o superiore.

Tieni presente che questi requisiti sono solo per il livello API di destinazione, e non per il minimo. Ciò significa che puoi ancora creare applicazioni che funzioneranno su versioni precedenti di Android come Android Lollipop. Questo è importante perché ci sono ancora milioni di utenti che utilizzano versioni Android precedenti sui propri dispositivi. Quale livello API minimo dovresti implementare? Seguire @minSdkVersion su Twitter per tenerti aggiornato su quando dovresti cambiarlo.

Per quanto riguarda le applicazioni che non riceveranno aggiornamenti nel prossimo futuro, non cambierà nulla. Tali applicazioni continueranno ad esistere, anche se ovviamente non saranno in grado di sfruttare le nuove funzionalità introdotte negli SDK più recenti. Se la lo sviluppatore di tale applicazione desidera aggiornare la propria app per qualsiasi motivo, dovrà aggiornare la propria app per soddisfare i requisiti dell'API superiore livello.

Questo è un vantaggio per la sicurezza degli utenti. Android 6.0 Marshmallow ha introdotto le autorizzazioni di runtime, che proteggono alcune autorizzazioni sensibili come la posizione o l'accesso ai contatti dietro una finestra di dialogo che l'utente deve accettare. Tuttavia, le applicazioni potrebbero aggirare le autorizzazioni di runtime prendendo di mira un livello API precedente. Se un'applicazione è destinata a questo livello API precedente, le autorizzazioni vengono concesse durante l'installazione.

Inoltre, le nuove restrizioni di Android Oreo sull'esecuzione delle app in background, sui ricevitori di trasmissione impliciti e sui limiti di posizione in background sono solo un requisito per le applicazioni destinate al livello API 26. Poiché questo livello API sarà un requisito in futuro, ciò significa che qualsiasi utente che utilizza Android Oreo non dovrà preoccuparsi che un'app non venga ottimizzata dalle nuove restrizioni di Android Oreo.

Una nota sulle future versioni di Android

C’è una clausola in questo nuovo requisito che è interessante. Per citare il post del blog:

Le future versioni di Android limiteranno inoltre le app che non hanno come target un livello API recente e avranno un impatto negativo sulle prestazioni o sulla sicurezza.

Mentre il requisito precedente riguarda solo le nuove applicazioni o le applicazioni aggiornate inviate al Play Store, questa frase sembra sì suggeriscono che una futura versione di Android porrà anche restrizioni sulle applicazioni che non si mantengono aggiornati con i recenti livelli API. Presentato Android 8.0 Oreo autorizzazioni solo runtime che richiedono che un'applicazione abbia come target il livello API 23, in modo che Google possa iniziare a nascondere nuove funzionalità dietro tali restrizioni.

Modifica n. 2: supporto a 64 bit per il codice nativo

La maggior parte dei dispositivi Android di punta dispone di chip basati su un'architettura a 64 bit. Secondo Google, oltre il 40% dei dispositivi supporta la tecnologia a 64 bit. Le app che distribuiscono librerie native attualmente possono essere basate solo su codice a 32 bit e i dispositivi a 64 bit continueranno a funzionare grazie alla compatibilità con le versioni precedenti.

Tuttavia, poiché il codice a 64 bit può offrire prestazioni migliori, Google lo farà richiedono che gli sviluppatori le cui app utilizzano librerie native debbano avere un'alternativa a 64 bit per essere eseguito solo su dispositivi a 64 bit. Le applicazioni possono includere sia una libreria a 32 bit che a 64 bit oppure distribuire più versioni dell'APK con entrambe le librerie utilizzando il metodo APK multipli funzionalità nella Console per gli sviluppatori. Questo requisito entrerà in vigore a partire da agosto 2019 e non influisce sulle applicazioni che non eseguono codice nativo.

Quest'ultima modifica non richiede alcuna azione da parte degli sviluppatori. Invece, questo verrà gestito automaticamente da Google Play. Il Play Store inizierà ad aggiungere un file piccola quantità di metadati per ciascun APK che verificherà che un'applicazione sia stata ufficialmente distribuita dal Google Play Store. La dimensione massima dell'APK di Google Play verrà aumentata per tenere conto di questi nuovi metadati, ma nulla dovrebbe essere modificato nelle applicazioni degli sviluppatori.


Fonte: Google