Con ogni release di Android, introduciamo nuove funzionalità e modifiche al comportamento volte a rendere Android più utile, più sicuro e più efficiente. In molti casi, la tua app funzionerà esattamente come previsto, mentre in altri potresti dover apportare modifiche 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 di sviluppo e test tipiche che possono aiutarti a pianificare l'idoneità in modo che sia ben allineata alla sequenza temporale di rilascio della piattaforma e garantisca un'esperienza ottimale per gli utenti su Android 11.
Una migrazione tipica prevede 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 Scarica Android 11.
Garantisci 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 tempestivi e approfonditi, per poi apportare le modifiche necessarie alla tua app.
In genere puoi modificare l'app e pubblicare un aggiornamento senza dover
cambiare il targetSdkVersion dell'app. Analogamente, non dovresti aver bisogno di utilizzare nuove API o modificare il compileSdkVersion dell'app, anche se questo può dipendere dal modo in cui l'app è creata e dalla funzionalità della piattaforma che utilizza. I passaggi sono descritti nelle sezioni seguenti.
Prima di iniziare, assicurati di acquisire familiarità con le modifiche
comportamentali che potrebbero influire sulla tua app, anche se non ne modifichi il
targetSdkVersion.
Esegui test di compatibilità
Per la maggior parte, i test di compatibilità con Android 11 sono simili ai test che esegui normalmente quando ti prepari a rilasciare l'app. Questo è un buon momento per esaminare le norme sulla qualità principali delle app e le best practice per i test.
Installa l'app attualmente pubblicata su un dispositivo con Android 11 e prova tutti i flussi e le funzionalità per individuare eventuali problemi. Per aiutarti a concentrarti sui test, esamina le modifiche comportamentali introdotte in Android 11 che possono influire sulla funzione della tua app o causarne l'arresto anomalo. In particolare, assicurati di esaminare le modifiche principali alla privacy e di testare le correzioni che implementi per adattarti alle modifiche.
Assicurati inoltre di esaminare e testare gli utilizzi di interfacce non SDK limitate e di passare invece agli equivalenti SDK o NDK pubblici. Presta attenzione agli avvisi di logcat che evidenziano questi accessi e utilizza il metodo StrictMode detectNonSdkApiUsage() per intercettarli in modo programmatico.
Infine, assicurati di testare completamente le librerie e gli SDK nella tua app per verificare che funzionino come previsto su Android 11 e segui le best practice per la privacy, le prestazioni, la UX, la gestione dei dati e le autorizzazioni. Se riscontri un problema, prova ad aggiornare l'SDK all'ultima versione o contatta lo sviluppatore dell'SDK per ricevere assistenza.
Una volta terminati i test e apportati gli aggiornamenti, ti consigliamo di pubblicare subito l'app compatibile. In questo modo, gli utenti possono testare l'app in anticipo e tu puoi offrire loro una transizione agevole durante l'aggiornamento ad Android 11.
Aggiorna il targeting dell'app e crea con nuove API
Dopo aver pubblicato la versione compatibile della tua 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 eseguire queste operazioni non appena sei
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 è esaminare le modifiche al comportamento che si applicano alle app che hanno come target Android 11. Queste modifiche mirate al 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 attivate.
I passaggi seguenti descrivono come supportare completamente Android 11.
Scarica l'SDK, modifica il targeting, crea con le nuove API
Per iniziare a utilizzare il supporto completo di Android 11, scarica innanzitutto l'SDK per Android 11 (e tutti gli altri strumenti necessari) in Android Studio.
Successivamente, modifica targetSdkVersion e compileSdkVersion dell'app in "30" e ricompila l'app. Per maggiori dettagli, consulta la guida alla configurazione.
Testa la tua app per Android 11
Dopo aver compilato l'app e averla 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 al comportamento si applicano solo quando la tua app ha come target la nuova piattaforma, quindi ti consigliamo di esaminare queste modifiche prima 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 eventuali correzioni che implementi per adattarti alle modifiche. È anche un buon momento per verificare la tua app rispetto alle norme sulla qualità principali delle app e alle best practice per i test.
Assicurati di esaminare e testare gli utilizzi di interfacce non SDK limitate che potrebbero essere applicabili. Controlla gli avvisi di logcat che evidenziano questi accessi e utilizza il metodo StrictMode detectNonSdkApiUsage() per intercettarli in modo programmatico.
Infine, assicurati di testare completamente le librerie e gli SDK nella tua app per verificare che funzionino come previsto su Android 11 e segui le best practice per la privacy, le prestazioni, la UX, la gestione dei dati e le autorizzazioni. Se riscontri un problema, prova ad aggiornare l'SDK all'ultima versione o contatta lo sviluppatore dell'SDK per ricevere assistenza.
Esegui i test utilizzando i pulsanti di attivazione/disattivazione della compatibilità delle app
Android 11 introduce una nuova funzionalità per gli sviluppatori che semplifica i test delle app con modifiche mirate del comportamento. Per un'app abilitata al debug, i pulsanti di attivazione/disattivazione ti consentono di:
- Testa le modifiche mirate senza modificare effettivamente l'attributo targetSdkVersion dell'app. Puoi utilizzare i pulsanti di attivazione/disattivazione per forzare l'attivazione di modifiche specifiche del comportamento target per valutare l'impatto sulla tua app esistente.
- Concentra i test solo su modifiche specifiche. Anziché dover gestire tutte le modifiche mirate contemporaneamente, i pulsanti di attivazione/disattivazione ti consentono di disattivare tutte le modifiche mirate, ad eccezione di quelle che vuoi testare.
- Gestisci i pulsanti di attivazione/disattivazione tramite adb. Puoi utilizzare i comandi adb per attivare e disattivare le modifiche attivabili/disattivabili nel tuo ambiente di test automatico.
- Esegui il debug più velocemente utilizzando gli ID modifica standard. Ogni modifica attivabile/disattivabile ha un ID e un nome univoci che puoi utilizzare per eseguire rapidamente il debug della causa principale nell'output del log.
I pulsanti di attivazione/disattivazione possono aiutarti mentre ti prepari a modificare il targeting della tua app o durante lo sviluppo attivo per il supporto di Android 11. Per ulteriori dettagli, consulta la documentazione corrispondente.