Eseguire la migrazione delle app ad Android 12

Questo documento offre una visione generale delle fasi tipiche di sviluppo e test che può aiutarti a creare un piano di preparazione ben allineato alle tempistiche di rilascio della piattaforma e che garantisca un'ottima esperienza per gli utenti su Android 12.

Con ogni release di Android introduciamo nuove funzionalità e cambiamenti del comportamento volti a rendere Android più utile, sicuro e dalle prestazioni migliori. In molti casi l'app funzionerà subito come previsto, mentre in altri casi potresti dover aggiornare l'app 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), pertanto è importante che le tue app siano pronte, funzionino come previsto per gli utenti e, idealmente, sfruttino le nuove funzionalità e le nuove API per ottenere il massimo dalla nuova piattaforma.

In genere, una migrazione è suddivisa in due fasi, che possono essere simultanee:

  • Garanzia della compatibilità delle app (per la release finale di Android 12)
  • Targeting delle nuove funzionalità e API della piattaforma (non appena possibile dopo il rilascio finale)

Garantire la compatibilità con Android 12

È importante testare la funzionalità della tua app esistente rispetto ad Android 12 per garantire un'esperienza ottimale agli utenti che eseguono l'aggiornamento alla versione più recente di Android. Alcune modifiche alla piattaforma possono influire sul comportamento dell'app, pertanto è importante testare in anticipo e in modo approfondito l'app e apportare le modifiche necessarie.

Generalmente puoi modificare l'app e pubblicare un aggiornamento senza dover modificare il valore targetSdkVersion dell'app. Allo stesso modo, non dovresti dover utilizzare nuove API o modificare il compileSdkVersion dell'app, anche se ciò può dipendere dal modo in cui la tua app è stata creata e dalle funzionalità della piattaforma che utilizza.

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

Scarica Android 12

Esegui il flashing di 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.

Prova

Installa l'app sul tuo dispositivo o emulatore ed esegui dei test. Concentrati sulle modifiche del comportamento del sistema e analizza tutti i flussi dell'app.

Aggiorna

Apporta solo le modifiche al codice necessarie per adattarsi alle modifiche del comportamento o risolvere i problemi. Ricompila con lo stesso livello API scelto come target inizialmente dell'app, senza dover scegliere come target Android 12.

Pubblica

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

Esegui test di compatibilità

Per la maggior parte, testare la compatibilità con Android 12 è simile ai normali test delle app. Questo è un buon momento per rivedere le norme sulla qualità principali delle app e le best practice per i test.

Per testarla, installa l'app attualmente pubblicata su un dispositivo con Android 12 e analizza tutti i flussi e le funzionalità cercando i problemi. Per ottimizzare i test, esamina le modifiche del comportamento per tutte le app introdotte in Android 12 che possono influire sul funzionamento della tua app o causare l'arresto anomalo dell'app.

Inoltre, assicurati di esaminare e testare gli utilizzi di interfacce non SDK limitate. Devi sostituire qualsiasi interfaccia con restrizioni utilizzata dalla tua app con un SDK pubblico o un equivalente NDK. Controlla gli avvisi 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 assicurarti che funzionino come previsto su Android 12 e segui 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 terminato il test e apportato gli eventuali aggiornamenti, ti consigliamo di pubblicare subito la tua app compatibile. In questo modo gli utenti possono testare l'app in anticipo e garantire una transizione senza problemi per gli utenti che eseguono l'aggiornamento ad Android 12.

Aggiorna il targeting dell'app e crea con nuove API

Dopo aver pubblicato una versione compatibile della tua 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 sarà tutto pronto, tenendo presente i requisiti di Google Play per il targeting della nuova piattaforma.

Se pianifichi il tuo lavoro per supportare completamente Android 12, consulta le modifiche del comportamento che interessano le app destinate ad Android 12. Queste modifiche al comportamento mirato potrebbero causare problemi funzionali che dovrai risolvere. In alcuni casi, questi cambiamenti richiedono uno sviluppo significativo, quindi ti consigliamo di scoprirli e affrontarli il prima possibile. Per identificare più facilmente modifiche al comportamento specifiche che interessano la tua app, utilizza i dispositivi di attivazione/disattivazione della compatibilità per testare l'app con le modifiche selezionate attivate.

I passaggi seguenti spiegano come supportare completamente Android 12.

Ottieni l'SDK Android 12

Installa la versione più recente dell'anteprima di Android Studio per creare con Android 12. Assicurati di avere un emulatore o un dispositivo Android 12.
Aggiorna le configurazioni di build di targetSdkVersion e altre.

Esaminare le modifiche al comportamento

Esamina le modifiche del 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.

Confronto con le nuove modifiche alla privacy

Apporta le modifiche al codice e all'architettura necessarie per supportare le modifiche relative alla privacy dell'utente di Android 12.

Adottare le funzionalità di Android 12

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

Prova

Esegui il test su un emulatore o un dispositivo Android 12. Concentrati sulle aree in cui le modifiche del comportamento potrebbero influire sulla tua app. Prova la funzionalità che utilizza nuove API. Fornisci feedback sulla piattaforma e sull'API. Segnala eventuali problemi relativi a piattaforma, API o SDK di terze parti.

Aggiornamento finale

Quando le API 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'Android App Bundle o l'APK aggiornato.

Scarica l'SDK, cambia il targeting, crea con 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 per Android 12 e tutti gli altri strumenti di cui hai bisogno. Dopodiché, aggiorna targetSdkVersion e compileSdkVersion dell'app e ricompila l'app. Per i dettagli, consulta la guida alla configurazione dell'SDK.

Testare l'app Android 12

Dopo aver compilato e installato l'app su un dispositivo con Android 12, inizia a testarla per assicurarti che l'app funzioni correttamente quando scegli come target Android 12. Alcune modifiche al comportamento vengono applicate solo quando la tua app ha come target la nuova piattaforma, pertanto ti consigliamo di esaminare tali modifiche prima di iniziare.

Come per i test di compatibilità di base, esamina tutti i flussi e tutte le funzionalità per individuare eventuali problemi. Concentra i tuoi test sulle modifiche del comportamento per le app destinate ad 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 gli utilizzi di interfacce non SDK limitate che potrebbero essere applicabili. Controlla se sono presenti 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 segui 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.

Esegui dei test utilizzando i pulsanti di attivazione/disattivazione della compatibilità delle app

Android 12 include opzioni di attivazione/disattivazione della compatibilità che semplificano i test della tua app con modifiche del comportamento mirate. Per un'app di cui è possibile eseguire il debug, i pulsanti di attivazione/disattivazione ti consentono di:

  • Testa modifiche mirate senza modificare effettivamente il valore targetSdkVersion dell'app. Puoi utilizzare i pulsanti di attivazione/disattivazione per forzare l'attivazione di modifiche specifiche del comportamento mirato al fine di valutare l'impatto sulla tua app esistente.
  • Esegui i test solo su modifiche specifiche. Invece di dover risolvere tutte le modifiche mirate contemporaneamente, le opzioni di attivazione/disattivazione ti consentono di disabilitare tutte le modifiche scelte come target tranne quelle su cui vuoi eseguire il test.
  • Gestisci i pulsanti di attivazione/disattivazione tramite ADB. Puoi usare i comandi adb per abilitare e disabilitare le modifiche attivabili nell'ambiente di test automatizzato.
  • Esegui il debug più velocemente utilizzando gli ID modifica standard. Le modifiche che possono essere attivate hanno ciascuna un ID e un nome univoci che puoi utilizzare per eseguire rapidamente il debug della causa principale nell'output del log.

Mentre ti prepari a modificare il targeting della tua app o sei in fase di sviluppo attivo per il supporto di Android 12, i pulsanti di attivazione/disattivazione possono aiutarti. Per ulteriori informazioni, consulta Modifiche del framework di compatibilità (Android 12).