Eseguire la migrazione delle app ad Android 13

Questo documento offre una visione generale delle fasi tipiche di sviluppo e test che possono aiutarti a definire un piano di idoneità che sia in linea con la cronologia di rilascio della piattaforma e garantisca un'esperienza ottimale agli utenti su Android 13.

A ogni release di Android introduciamo nuove funzionalità e cambiamenti di comportamento che mirano a rendere Android più utile, sicuro e performante. In molti casi l'app funzionerà subito come previsto, mentre in altri casi potrebbe essere necessario aggiornarla per adattarla ai cambiamenti della piattaforma.

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

Una migrazione tipica prevede due fasi che possono essere simultanee:

  • Garantire la compatibilità delle app (entro la release finale di Android 13)
  • Scegliere come target le nuove funzionalità e API della piattaforma (il prima possibile dopo il rilascio finale)

Assicura la compatibilità con Android 13

È importante testare la funzionalità della tua app esistente su Android 13 per garantire un'esperienza ottimale agli utenti che eseguono l'aggiornamento alla versione più recente di Android. Alcune modifiche apportate alla piattaforma possono influire sul funzionamento dell'app, quindi è importante testarla in modo tempestivo e approfondito e apportare le modifiche necessarie all'app.

In genere 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 valore compileSdkVersion dell'app, anche se questo può dipendere dal modo in cui l'app è stata creata e dalle funzionalità della piattaforma utilizzate.

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

Passa ad Android 13

Esegui il flashing di un'immagine di sistema Android 13 sul tuo dispositivo oppure scarica un'immagine di sistema per l'emulatore Android.

Revisione delle modifiche

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

Prova

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

Aggiorna

Apporta solo le modifiche necessarie al codice per adeguarti alle modifiche del comportamento o risolvere i problemi. Ricompila con lo stesso livello API scelto come target inizialmente per la tua app, senza bisogno di scegliere come target Android 13.

Pubblica

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

Esegui test di compatibilità

I test di compatibilità con Android 13 sono in gran parte simile ai normali test delle app. È il momento giusto per consultare le norme sulla qualità principali delle app e le best practice per i test.

Per eseguire il test, installa l'app attualmente pubblicata su un dispositivo con Android 13 e analizza tutti i flussi e le funzionalità cercando i problemi. Per concentrarti sui test, esamina le modifiche al comportamento per tutte le app introdotte in Android 13 che possono influire sul funzionamento dell'app o causare l'arresto anomalo dell'app.

Assicurati inoltre di esaminare e testare l'utilizzo di interfacce non SDK limitate. Devi sostituire qualsiasi interfaccia limitata utilizzata dalla tua app con un SDK pubblico o un equivalente NDK. 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 assicurarti che funzionino come previsto su Android 13 e di seguire le best practice relative a privacy, prestazioni, UX, gestione dei dati e autorizzazioni. Se rilevi un problema, prova a eseguire l'aggiornamento all'ultima versione dell'SDK o contatta lo sviluppatore dell'SDK per ricevere assistenza.

Al termine dei test e dopo aver apportato gli aggiornamenti, ti consigliamo di pubblicare immediatamente l'app compatibile. In questo modo, gli utenti potranno testare l'app in anticipo e garantire una transizione senza problemi durante l'aggiornamento ad Android 13.

Aggiorna il targeting dell'app e creala con nuove API

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

Mentre pianifichi il tuo lavoro per supportare completamente Android 13, esamina le modifiche del comportamento che interessano le app che hanno come target Android 13. Queste modifiche del comportamento mirato potrebbero causare problemi di funzionamento che devi risolvere. In alcuni casi, questi cambiamenti richiedono uno sviluppo significativo, pertanto consigliamo di informarli e intervenire il prima possibile. Per identificare i cambiamenti specifici del comportamento che interessano la tua app, utilizza i attivatori di compatibilità per testare l'app con le modifiche selezionate abilitate.

I passaggi seguenti spiegano come supportare completamente Android 13.

Scarica l'SDK Android 13

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

Esaminare le modifiche del comportamento

Esamina le modifiche del comportamento applicabili alle app che hanno come target Android 13. Identifica le aree in cui la tua app potrebbe essere interessata e pianifica come supportarle.

Verifica in base alle nuove modifiche relative alla privacy

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

Adottare le funzionalità di Android 13

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

Prova

Esegui il test su un emulatore o un dispositivo Android 13. Concentrati sulle aree in cui i cambiamenti 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 piattaforme, API o SDK di terze parti.

Aggiornamento finale

Quando le API Android 13 saranno definitive, aggiorna di nuovo targetSdkVersion e altre configurazioni della build, apporta eventuali aggiornamenti aggiuntivi e testa l'app.

Pubblica

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

Ottieni l'SDK, cambia il targeting, crea con nuove API

Per iniziare a testare il supporto completo di Android 13, usa l'ultima versione di anteprima di Android Studio per scaricare l'SDK Android 13 e tutti gli altri strumenti di cui hai bisogno. Dopodiché aggiorna i targetSdkVersion e gli compileSdkVersion dell'app e ricompila l'app. Per maggiori dettagli, consulta la guida alla configurazione dell'SDK.

Testare l'app per Android 13

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

Come per i test di compatibilità di base, analizza tutti i flussi e le funzionalità alla ricerca di problemi. Incentra i test sulle modifiche del comportamento per le app che hanno come target Android 13. Inoltre, è 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 gli avvisi di 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 13 e di seguire le best practice relative a privacy, prestazioni, UX, gestione dei dati e autorizzazioni. Se rilevi un problema, prova a eseguire l'aggiornamento all'ultima versione dell'SDK o contatta lo sviluppatore dell'SDK per ricevere assistenza.

Eseguire test utilizzando i pulsanti di attivazione/disattivazione per la compatibilità delle app

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

  • Testa le modifiche target senza modificare effettivamente il valore targetSdkVersion dell'app. Puoi utilizzare i pulsanti di attivazione/disattivazione per forzare l'attivazione di modifiche di comportamenti mirati specifici e valutare l'impatto sull'app esistente.
  • Concentra i test solo su modifiche specifiche. Invece di dover gestire tutte le modifiche mirate contemporaneamente, i pulsanti 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 utilizzare i comandi adb per abilitare e disabilitare le modifiche attivabili nel tuo ambiente di test automatico.
  • Esegui il debug più rapidamente utilizzando gli ID delle modifiche standard. Le modifiche attivabili hanno ciascuna un ID e un nome univoci che possono essere utilizzati 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 ti stai sviluppando attivamente per il supporto di Android 13. Per maggiori informazioni, vedi Modifiche al framework di compatibilità (Android 13).