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 creare un piano di preparazione ben allineato alla cronologia delle release della piattaforma e a garantire un'ottima esperienza 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 performante. 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 ad 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 simultanee:

  • Garantire la compatibilità delle app (entro la release finale di Android 12)
  • Targeting delle nuove funzionalità e API della piattaforma (il prima possibile dopo la release finale)

Garantire la compatibilità con Android 12

È importante testare la funzionalità dell'app esistente con Android 12 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 e apportare eventuali 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 compileSdkVersion dell'app, anche se questo può dipendere dal modo in cui è creata l'app 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 influire sulla tua app, anche se non modifiche il relativo targetSdkVersion.

Ottenere Android 12

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

Esaminare 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 analizza tutti i flussi delle app.

Aggiornamento

Apporta solo le modifiche al codice necessarie per adattarti ai cambiamenti di comportamento o risolvere i problemi. Ricompila con lo stesso livello API a cui originariamente era destinata la tua app. Non è necessario scegliere come target Android 12.

Pubblica

Firma, carica e pubblica l'Android App Bundle o l'APK aggiornato.

Eseguire test di compatibilità

Per la maggior parte, il test di compatibilità con Android 12 è simile al normale test delle app. È il momento giusto per rivedere le linee guida sulla qualità delle app di base e le best practice per i test.

Per eseguire il test, installa l'app pubblicata corrente su un dispositivo con Android 12 e prova tutti i flussi e le funzionalità mentre cerchi 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 anche di esaminare e testare l'utilizzo di interfacce non SDK con limitazioni. Devi sostituire qualsiasi interfaccia con limitazioni utilizzata dalla tua app con un SDK o NDK pubblico equivalente. Controlla i logcat per individuare gli avvisi 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 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 anteprima e garantire una transizione senza problemi quando eseguono l'aggiornamento ad Android 12.

Aggiorna il targeting dell'app e crea con le nuove API

Dopo aver pubblicato una versione compatibile dell'app, il passaggio successivo consiste nell'aggiungere il supporto completo per Android 12 aggiornando il relativo 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.

Mentre pianifichi il tuo lavoro per supportare completamente Android 12, esamina le modifiche al comportamento che interessano le app che hanno come target Android 12. Queste modifiche mirate al comportamento potrebbero causare problemi funzionali che dovrai risolvere. In alcuni casi, queste modifiche richiedono uno sviluppo significativo, pertanto ti consigliamo di conoscerle e risolverle il prima possibile. Per identificare modifiche specifiche del comportamento che influiscono sulla tua app, utilizza i pulsanti di attivazione/disattivazione della compatibilità per testare l'app con le modifiche selezionate attive.

I seguenti passaggi descrivono come supportare completamente Android 12.

Scaricare l'SDK Android 12

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

Esaminare 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.

Controllare 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.

Adottare 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 il test su un dispositivo o un emulatore Android 12. Concentrati sulle aree in cui le modifiche al comportamento potrebbero influire sulla tua app. Prova le funzionalità che utilizzano le nuove API. Fornisci feedback sulla piattaforma e sull'API. Segnala eventuali problemi relativi a piattaforme, API o SDK di terze parti.

Aggiornamento finale

Una volta finalizzate le API Android 12, aggiorna di nuovo targetSdkVersion e altre configurazioni di build, apporta eventuali aggiornamenti aggiuntivi e testa la tua app.

Pubblica

Firma, carica e pubblica l'Android App Bundle o l'APK aggiornato.

Scarica l'SDK, modifica il targeting e 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 necessari. Poi, aggiorna targetSdkVersion e compileSdkVersion della tua app e ricompila l'app. Per maggiori dettagli, consulta la guida alla configurazione dell'SDK.

Testare l'app per Android 12

Dopo aver compilato l'app e installata su un dispositivo con Android 12, inizia i test per assicurarti che funzioni correttamente quando ha come target Android 12. 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 12. È 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 12 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 12 include opzioni di compatibilità che semplificano il test dell'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 12. Per ulteriori informazioni, vedi Modifiche al framework di compatibilità (Android 12).