Eseguire la migrazione delle app ad Android 17

Questo documento fornisce una panoramica delle azioni di sviluppo e test che puoi intraprendere per allinearti alla sequenza temporale di rilascio della piattaforma Android e garantire un'esperienza utente senza interruzioni su Android 17.

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 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 simultanee:

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

Garantire la compatibilità con Android 17

È importante testare la funzionalità della tua app esistente su Android 17 per garantire un'esperienza ottimale agli utenti che eseguono l'aggiornamento all'ultima versione di Android. Alcune modifiche alla piattaforma possono influire sul comportamento dell'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 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 l'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 influire sulla tua app, anche se non modifichi targetSdkVersion.

Scarica Android 17

Esegui il flashing di un'immagine di sistema Android 17 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.

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

Aggiorna

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 dell'app. Non è necessario avere come target Android 17.

Pubblica

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

Testare la compatibilità dell'app su Android 17

Nella maggior parte dei casi, il test di compatibilità con Android 17 è 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 il test, installa l'app pubblicata corrente su un dispositivo con Android 17 e completa i flussi e le funzionalità per identificare i problemi. Per concentrare i test, esamina le modifiche al comportamento per tutte le app introdotte in Android 17 che possono influire sul funzionamento dell'app o causarne l'arresto anomalo.

Assicurati inoltre di esaminare e testare l'utilizzo di interfacce non SDK con restrizioni. Dovresti sostituire qualsiasi interfaccia con restrizioni 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 verificare che funzionino come previsto su Android 17 e seguano le best practice per privacy, prestazioni, UX, gestione dei dati e autorizzazioni. Se riscontri un problema, prova ad 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 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 17.

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

Dopo aver pubblicato una versione compatibile dell'app, il passaggio successivo consiste nell'aggiungere il supporto completo per Android 17 aggiornando targetSdkVersion e sfruttando le nuove API e funzionalità di Android 17. 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 17, esamina le modifiche al comportamento che interessano le app che hanno come target Android 17. 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 seguenti passaggi descrivono come supportare completamente Android 17.

Scarica l'SDK Android 17

Installa l'ultima versione di Android Studio Preview per creare la build con Android 17. Assicurati di avere un dispositivo o un emulatore Android 17.
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 17. 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 17.

Adotta le funzionalità di Android 17

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

Esegui test

Esegui test su un dispositivo o un emulatore Android 17. Concentrati sulle aree dove le modifiche al comportamento potrebbero influire sulla 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 17 sono definitive, aggiorna il tuo targetSdkVersion e altre configurazioni di build di nuovo, apporta eventuali aggiornamenti aggiuntivi e testa l'app.

Pubblica

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

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

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

Testare l'app Android 17

Dopo aver compilato l'app e averla installata su un dispositivo con Android 17, inizia a testarla per assicurarti che funzioni correttamente quando ha come target Android 17. 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à alla ricerca di problemi. Concentra i test sulle modifiche al comportamento per le app che hanno come target Android 17. È anche un buon momento per controllare l'app rispetto 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 restrizioni 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 verificare che funzionino come previsto su Android 17 e seguano le best practice per privacy, prestazioni, UX, gestione dei dati e autorizzazioni. Se riscontri un problema, prova ad eseguire l'aggiornamento all'ultima versione dell'SDK o contatta lo sviluppatore dell'SDK per ricevere assistenza.

Eseguire test utilizzando gli indicatori di compatibilità delle app

Android 17 include indicatori di compatibilità che semplificano il test dell'app con 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 17. Per maggiori informazioni, consulta Modifiche al framework di compatibilità (Android 17).