Eseguire la migrazione delle app ad Android 12

Questo documento offre una panoramica generale delle fasi tipiche di sviluppo e test che possono aiutarti a pianificare la preparazione in modo che sia in linea con la sequenza temporale di rilascio della piattaforma e garantisca un'esperienza ottimale per gli utenti su Android 12.

Con ogni release di Android, introduciamo nuove funzionalità e modifiche al comportamento volte a rendere Android più utile, sicuro e performant. In molti casi, la tua app funzionerà esattamente come previsto, mentre in altri casi potrebbe essere necessario aggiornarla per adattarla alle modifiche della piattaforma.

Gli utenti possono iniziare a ricevere la nuova piattaforma non appena il codice sorgente viene rilasciato in AOSP (Android Open Source Project), quindi è importante che le tue app siano pronte, funzionino come previsto per gli utenti e, idealmente, sfruttino le nuove funzionalità e API per ottenere il massimo dalla nuova piattaforma.

Una migrazione tipica ha due fasi, che possono essere eseguite contemporaneamente:

  • Garantire la compatibilità dell'app (entro la release finale di Android 12)
  • Avere come target le nuove funzionalità e API della piattaforma (il prima possibile dopo la release finale)

Garantire la compatibilità con Android 12

È importante testare la funzionalità della tua app esistente su Android 12 per garantire un'esperienza ottimale agli utenti che eseguono l'aggiornamento all' ultima versione di Android. Alcune modifiche della piattaforma possono influire sul comportamento della tua app, quindi è importante eseguire test in anticipo e in modo approfondito e apportare le modifiche necessarie all'app.

In genere, puoi modificare l'app e pubblicare un aggiornamento senza dover cambiare l'app's targetSdkVersion. Allo stesso modo, non dovresti aver bisogno di utilizzare nuove API o modificare compileSdkVersion dell'app, anche se questo può dipendere dal modo in cui la tua app è stata creata e dalla funzionalità della piattaforma che utilizza.

Prima di iniziare i test, assicurati di acquisire familiarità con le modifiche al comportamento per tutte le app. Queste modifiche potrebbero interessare la tua app, anche se non modifiche targetSdkVersion.

Scarica Android 12

Installa un'immagine di sistema Android 12 sul tuo dispositivo o scarica un'immagine di sistema per l'emulatore Android.

Esamina le modifiche

Esamina le modifiche al comportamento del sistema per identificare le aree in cui la tua app potrebbe essere interessata.

Test

Installa l'app sul dispositivo o sull'emulatore ed esegui i test. Concentrati sulle modifiche al comportamento del sistema e completa tutti i flussi dell'app.

Aggiornamento

Apporta solo le modifiche al codice necessarie per adattarti alle modifiche al comportamento o risolvere i problemi. Ricompila con lo stesso livello API target originale della tua app. Non è necessario avere come target Android 12.

Pubblica

Firma, carica e pubblica l'app bundle o l'APK Android aggiornato.

Esegui test di compatibilità

Nella maggior parte dei casi, il test di compatibilità con Android 12 è simile al normale test delle app. Questo è un buon momento per esaminare le norme sulla qualità principali delle app e le best practice per i test.

Per eseguire i test, installa l'app pubblicata corrente su un dispositivo con Android 12 e completa tutti i flussi e le funzionalità cercando eventuali problemi. Per aiutarti a concentrare i test, esamina le modifiche al comportamento per tutte le app introdotte in Android 12 che possono influire sul funzionamento della tua app o causarne l' arresto anomalo.

Assicurati inoltre di esaminare e testare l'utilizzo di interfacce non SDK con limitazioni. Dovresti sostituire qualsiasi interfaccia con limitazioni utilizzata dalla tua app con un SDK pubblico o un equivalente NDK. Cerca gli avvisi logcat che evidenziano questi accessi e utilizza il StrictMode metodo 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 12 e seguano le best practice per privacy, prestazioni, UX, gestione dei dati e autorizzazioni. Se riscontri un problema, prova ad aggiornare 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 l'app compatibile. In questo modo, gli utenti possono testare l'app in anticipo e garantire una transizione senza problemi quando eseguono l'aggiornamento ad Android 12.

Aggiorna il targeting e la build dell'app con le nuove API

Dopo aver pubblicato una versione compatibile della tua app, il passaggio successivo consiste nell'aggiungere il supporto completo per Android 12 aggiornando targetSdkVersion e sfruttando le nuove API e funzionalità di Android 12. Puoi apportare questi aggiornamenti non appena sei pronto, tenendo presente i requisiti di Google Play per il targeting della nuova piattaforma.

Quando pianifichi il lavoro per supportare completamente Android 12, esamina le modifiche al comportamento che interessano le app che hanno come target Android 12. Queste modifiche al comportamento mirate potrebbero causare problemi funzionali che dovrai risolvere. In alcuni casi, queste modifiche richiedono uno sviluppo significativo, quindi ti consigliamo di conoscerle e risolverle il prima possibile. Per identificare le modifiche al comportamento specifiche che interessano la tua app, utilizza gli indicatori di compatibilità per testare l'app con le modifiche selezionate attivate.

I passaggi seguenti descrivono come supportare completamente Android 12.

Scarica l'SDK Android 12

Installa l'ultima versione di Android Studio Preview per creare con Android 12. Assicurati di avere un dispositivo o un emulatore Android 12.
Aggiorna targetSdkVersion e altre configurazioni di build.

Esamina le modifiche al comportamento

Esamina le modifiche al comportamento che si applicano alle app che hanno come target Android 12. Identifica le aree in cui la tua app potrebbe essere interessata, e pianifica come supportarle.

Verifica le nuove modifiche alla privacy

Apporta le modifiche al codice e all'architettura necessarie per supportare le modifiche alla privacy degli utenti di Android 12's.

Adotta le funzionalità di Android 12

Sfrutta le API di Android 12 per aggiungere nuove funzionalità e capacità alle tue app. Ricompila per Android 12.

Test

Esegui i test su un dispositivo o un emulatore Android 12. Concentrati sulle aree in cui le modifiche al comportamento potrebbero interessare la tua app. Prova le funzionalità che utilizzano le nuove API. Fornisci feedback sulla piattaforma e sulle API feedback. Segnala eventuali problemi relativi alla piattaforma, alle API o agli SDK di terze parti.

Aggiornamento finale

Una volta che le API di Android 12 sono definitive, aggiorna di nuovo targetSdkVersion e altre configurazioni di build , apporta eventuali aggiornamenti aggiuntivi e testa l'app.

Pubblica

Firma, carica e pubblica l'app bundle o l'APK Android aggiornato.

Scarica l'SDK, modifica il targeting, crea con le nuove API

Per iniziare a testare il supporto completo di Android 12, utilizza l'ultima versione di anteprima di Android Studio per scaricare l'SDK Android 12 e tutti gli altri strumenti di cui hai bisogno. Poi, aggiorna targetSdkVersion e compileSdkVersion della tua app e ricompila l'app. Per dettagli, consulta la guida alla configurazione dell'SDK.

Testa l'app Android 12

Dopo aver compilato l'app e averla installata su un dispositivo con Android 12, inizia a testarla per assicurarti che funzioni correttamente quando ha come target Android 12. Alcune modifiche al comportamento si applicano solo quando l'app ha come target la nuova piattaforma, quindi ti consigliamo di esaminare quelle modifiche prima di iniziare.

Come per i test di compatibilità di base, completa tutti i flussi e le funzionalità cercando eventuali problemi. Concentra i test sulle modifiche al comportamento per le app che hanno come target Android 12. È anche un buon momento per verificare 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. Cerca 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 12 e seguano le best practice per privacy, prestazioni, UX, gestione dei dati e autorizzazioni. Se riscontri un problema, prova ad aggiornare all'ultima versione dell'SDK o contatta lo sviluppatore dell'SDK per ricevere assistenza.

Esegui i test utilizzando gli indicatori di compatibilità delle app

Android 12 include indicatori di compatibilità che semplificano il test dell'app con le modifiche al comportamento mirate. Per un'app di cui è possibile eseguire il debug, gli indicatori ti consentono di:

  • Testare le modifiche mirate senza modificare effettivamente targetSdkVersion dell'app . Puoi utilizzare gli indicatori per forzare l'attivazione di modifiche al comportamento mirate specifiche per valutare l'impatto sull'app esistente.
  • Concentrare i test solo su modifiche specifiche. Anziché dover risolvere tutte le modifiche mirate contemporaneamente, gli indicatori ti consentono di disattivare tutte le modifiche mirate tranne quelle che vuoi testare.
  • Gestire gli indicatori tramite adb. Puoi utilizzare i comandi adb per attivare e disattivare le modifiche attivabili nell'ambiente di test automatico.
  • Eseguire il debug più rapidamente utilizzando gli ID di modifica standard. Le modifiche attivabili hanno ciascuna un ID e un nome univoci che puoi utilizzare per eseguire rapidamente il debug della causa principale nell'output del log.

Gli indicatori possono essere utili quando ti prepari a modificare il targeting dell'app o durante lo sviluppo attivo per il supporto di Android 12. Per ulteriori informazioni, consulta Modifiche al framework di compatibilità (Android 12).