Con ogni release di Android, introduciamo nuove funzionalità e modifiche al comportamento volte a rendere Android più utile, più sicuro e con prestazioni migliori. In molti casi, la tua app funzionerà esattamente come previsto mentre in altri casi potresti dover apportare modifiche alla tua app per adattarla alle modifiche della piattaforma.
Poiché gli utenti possono iniziare a ricevere la nuova piattaforma non appena il codice sorgente viene rilasciato su AOSP (Android Open Source Project), è importante che le app siano pronte, funzionino come previsto per gli utenti e, idealmente, sfruttino le nuove funzionalità e API per ottenere il massimo dalla nuova piattaforma.
Questo documento offre una panoramica generale delle fasi tipiche di sviluppo e test che possono aiutarti a creare un piano di preparazione ben allineato alla cronologia delle release della piattaforma e a garantire un'ottima esperienza per i tuoi utenti su Android 11.
Una migrazione tipica ha due fasi, che possono essere simultanee:
- Garantire la compatibilità delle app (entro la release finale di Android 11)
- Targeting delle nuove funzionalità e API della piattaforma (il prima possibile dopo la release finale)
Questa pagina descrive i passaggi generali per ciascuna di queste fasi. Quando è tutto pronto per iniziare, leggi l'articolo Ricevere Android 11.
Garantire la compatibilità con Android 11
È importante testare la funzionalità della tua app esistente con Android 11 per garantire un'esperienza ottimale agli utenti che eseguono l'aggiornamento all'ultima versione di Android. Alcune modifiche alla piattaforma possono influire sul comportamento della tua app, quindi è importante eseguire test in anticipo e in modo approfondito, poi apportare le modifiche necessarie all'app.
In genere puoi modificare l'app e pubblicare un aggiornamento senza dover
modificare il targetSdkVersion
dell'app. Allo stesso modo, non dovresti aver bisogno di utilizzare nuove
API o modificare il compileSdkVersion
dell'app, anche se questo può dipendere dal
modo in cui è creata l'app e dalla funzionalità della piattaforma che utilizza. Le sezioni seguenti
descrivono i passaggi.
Prima di iniziare, assicurati di familiarizzare con le modifiche al
comportamento che potrebbero influire sulla tua app, anche se non ne modifichi il
targetSdkVersion
.
Eseguire test di compatibilità
Per la maggior parte, il test di compatibilità con Android 11 è simile al tipo di test che esegui normalmente quando ti prepari a rilasciare la tua app. Questo è un buon momento per esaminare le norme sulla qualità principali delle app e le best practice per i test.
Basta installare l'app pubblicata attualmente su un dispositivo con Android 11 e testare tutti i flussi e le funzionalità alla ricerca di problemi. Per aiutarti a concentrare i test, esamina le modifiche al comportamento introdotte in Android 11 che possono influire sul funzionamento della tua app o causarne l'arresto anomalo. In particolare, assicurati di esaminare le principali modifiche alla privacy e di testare le correzioni che implementi per adattarti alle modifiche.
Assicurati inoltre di esaminare e testare l'utilizzo di interfacce non SDK con limitazioni
e passa invece a SDK o NDK pubblici equivalenti. Presta attenzione agli avvisi logcat
che evidenziano questi accessi e utilizza il metodo StrictMode
detectNonSdkApiUsage()
per rilevarli in modo programmatico.
Infine, assicurati di testare completamente le librerie e gli SDK nella tua app per assicurarti che funzionino come previsto su Android 11 e seguano le best practice per privacy, prestazioni, UX, gestione dei dati e autorizzazioni. Se riscontri un problema, prova a eseguire l'aggiornamento all'ultima versione dell'SDK o contatta lo sviluppatore dell'SDK per ricevere assistenza.
Una volta terminati i test e apportati gli aggiornamenti, ti consigliamo di pubblicare subito la tua app compatibile. In questo modo, gli utenti possono testare l'app in anticipo e ti aiuta a garantire una transizione senza problemi quando eseguono l'aggiornamento ad Android 11.
Aggiorna il targeting dell'app e crea con le nuove API
Dopo aver pubblicato la versione compatibile dell'app come descritto
in precedenza, il passaggio successivo consiste nell'aggiungere il supporto completo per Android 11
aggiornando il relativo targetSdkVersion
e sfruttando le nuove API e
funzionalità di Android 11. Puoi farlo non appena
sarai pronto, tenendo presente il requisito di Google Play per il targeting della nuova
piattaforma.
Quando pianifichi il tuo lavoro per supportare completamente Android 11, un buon punto di partenza è la revisione delle modifiche al comportamento che si applicano alle app che hanno come target Android 11. Queste modifiche mirate del comportamento potrebbero causare problemi funzionali che potresti dover risolvere. In alcuni casi, possono richiedere uno sviluppo significativo, quindi è meglio conoscerli in anticipo. Per aiutarti a valutare gli impatti, puoi anche utilizzare i pulsanti di attivazione/disattivazione della compatibilità per testare la tua app attuale con le modifiche selezionate attive.
I seguenti passaggi descrivono come supportare completamente Android 11.
Scarica l'SDK, modifica il targeting e crea con le nuove API
Per iniziare a utilizzare il supporto completo di Android 11, scarica prima l'SDK Android 11 (e qualsiasi altro strumento necessario) in Android Studio.
Poi modifica targetSdkVersion
e compileSdkVersion
dell'app in "30"
e
ricompila l'app. Per maggiori dettagli, consulta la guida alla configurazione.
Testare l'app Android 11
Una volta compilata l'app e installata su un dispositivo con Android 11, inizia i test per assicurarti che l'app funzioni correttamente quando ha come target Android 11. Alcune modifiche del comportamento si applicano solo quando la tua app ha come target la nuova piattaforma, quindi ti consigliamo di esaminarleprima di iniziare.
Come per i test di compatibilità di base, esamina tutti i flussi e le funzionalità alla ricerca di problemi. Concentra i test sulle modifiche al comportamento per le app che hanno come target Android 11. In particolare, assicurati di esaminare le modifiche alla privacy e di testare le correzioni che implementi per adattarti alle modifiche. È anche un buon momento per controllare la tua app in base alle norme sulla qualità principali delle app e alle best practice per i test.
Assicurati di esaminare e testare l'utilizzo di interfacce non SDK con limitazioni
che potrebbero essere applicabili. Controlla gli avvisi logcat che evidenziano questi accessi e utilizza
il metodo StrictMode detectNonSdkApiUsage()
per rilevarli
in modo programmatico.
Infine, assicurati di testare completamente le librerie e gli SDK nella tua app per assicurarti che funzionino come previsto su Android 11 e seguano le best practice per privacy, prestazioni, UX, gestione dei dati e autorizzazioni. Se riscontri un problema, prova a eseguire l'aggiornamento all'ultima versione dell'SDK o contatta lo sviluppatore dell'SDK per ricevere assistenza.
Testare utilizzando i pulsanti di attivazione/disattivazione della compatibilità delle app
Android 11 introduce una nuova funzionalità per gli sviluppatori che semplifica il test della tua app con modifiche mirate del comportamento. Per un'app di cui è possibile eseguire il debug, i pulsanti di attivazione/disattivazione ti consentono di:
- Testa le modifiche mirate senza modificare effettivamente la targetSdkVersion dell'app. Puoi utilizzare i pulsanti di attivazione/disattivazione per forzare l'attivazione di modifiche specifiche al comportamento mirato per valutare l'impatto sulla tua app esistente.
- Concentrati sui test solo su modifiche specifiche. Anziché dover affrontare tutte le modifiche mirate contemporaneamente, i pulsanti di attivazione/disattivazione ti consentono di disattivare tutte le modifiche mirate, tranne quelle che vuoi testare.
- Gestire i pulsanti di attivazione/disattivazione tramite adb. Puoi utilizzare i comandi adb per attivare e disattivare le modifiche attivabili/disattivabili nell'ambiente di test automatizzato.
- Esegui il debug più velocemente utilizzando gli ID modifica standard. Ogni modifica attivabile ha un ID e un nome unici che puoi utilizzare per eseguire rapidamente il debug della causa principale nell'output del log.
I pulsanti di attivazione/disattivazione possono essere utili durante la preparazione alla modifica del targeting dell'app o durante lo sviluppo attivo del supporto di Android 11. Per ulteriori dettagli, consulta la documentazione corrispondente.