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 fluida 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 potresti doverla aggiornare per adattarla alle modifiche della piattaforma.

Gli utenti possono iniziare a ricevere la nuova piattaforma non appena il codice sorgente viene rilasciato su 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 prevede due fasi, che possono essere simultanee:

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

Garantisci la compatibilità con Android 17

È importante testare la funzionalità della tua app esistente con 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 della tua app, quindi è importante eseguire test tempestivi e approfonditi e apportare le modifiche necessarie alla tua app.

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

Prima di iniziare i test, assicurati di acquisire familiarità con le modifiche comportamentali per tutte le app. Queste modifiche potrebbero influire sulla tua app, anche se non ne modifichi il 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.

Test

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

Aggiorna

Apporta solo le modifiche al codice necessarie per adattarlo alle modifiche del comportamento o per risolvere i problemi. Ricompila con lo stesso livello API che la tua app aveva originariamente come target, non è necessario avere come target Android 17.

Pubblica

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

Testa la compatibilità della tua app su Android 17

Per la maggior parte, i test di compatibilità con Android 17 sono simili ai test delle app ordinari. Questo è un buon momento per esaminare le norme sulla qualità delle app di base e le best practice per i test.

Per eseguire il test, installa l'app attualmente pubblicata su un dispositivo con Android 17 e segui 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 della tua app o causarne l'arresto anomalo.

Assicurati anche di esaminare e testare gli utilizzi di interfacce non SDK limitate. Devi sostituire qualsiasi interfaccia con restrizioni utilizzata dalla tua app con un SDK o un NDK pubblico equivalente. 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 verificare che funzionino come previsto su Android 17 e segui le best practice per la privacy, le prestazioni, la UX, la gestione dei dati e le autorizzazioni. Se riscontri un problema, prova ad aggiornare l'SDK all'ultima versione 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 durante l'aggiornamento ad Android 17.

Aggiorna il targeting dell'app e crea con nuove API

Una volta pubblicata una versione compatibile della tua app, il passaggio successivo consiste nell'aggiungere il supporto completo per Android 17 aggiornando il relativo targetSdkVersion e sfruttando le nuove API e funzionalità di Android 17. Puoi apportare questi aggiornamenti non appena è tutto pronto, tenendo presente i requisiti di Google Play per il targeting della nuova piattaforma.

Mentre pianifichi il tuo lavoro per supportare completamente Android 17, esamina le modifiche al comportamento che interessano le app che hanno come target Android 17. 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 informarti e di affrontarle il prima possibile. Per identificare le modifiche al comportamento specifiche che influiscono sulla tua app, utilizza gli interruttori di compatibilità per testare l'app con le modifiche selezionate attivate.

I passaggi seguenti descrivono come supportare completamente Android 17.

Scarica l'SDK per Android 17

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

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 l'idoneità rispetto alle nuove modifiche alla privacy

Apporta le modifiche al codice e all'architettura necessarie per supportare le modifiche alla privacy dell'utente 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.

Test

Esegui il test su un dispositivo o emulatore Android 17. 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 alla piattaforma, all'API o all'SDK di terze parti.

Aggiornamento finale

Una volta finalizzate le API di Android 17, aggiorna nuovamente targetSdkVersion e le altre configurazioni di compilazione, 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 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 necessari. Successivamente, aggiorna targetSdkVersion e compileSdkVersion della tua app e ricompila l'app. Per maggiori dettagli, consulta la guida alla configurazione dell'SDK.

Testa la tua app per Android 17

Dopo aver compilato l'app e averla installata su un dispositivo con Android 17, inizia a eseguire i test per assicurarti che l'app funzioni correttamente quando ha come target Android 17. Alcune modifiche al comportamento si applicano solo quando la tua app ha come target la nuova piattaforma, quindi ti consigliamo di esaminare queste modifiche prima 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 17. È 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 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 intercettarli 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 segui le best practice per la privacy, le prestazioni, la UX, la gestione dei dati e le autorizzazioni. Se riscontri un problema, prova ad aggiornare l'SDK all'ultima versione o contatta lo sviluppatore dell'SDK per ricevere assistenza.

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

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

  • Testa le modifiche mirate senza modificare effettivamente l'attributo targetSdkVersion dell'app. Puoi utilizzare i pulsanti di attivazione/disattivazione per forzare l'attivazione di modifiche specifiche del comportamento target per valutare l'impatto sulla tua app esistente.
  • Concentra i test solo su modifiche specifiche. Anziché dover gestire tutte le modifiche mirate contemporaneamente, i pulsanti di attivazione/disattivazione ti consentono di disattivare tutte le modifiche mirate, ad eccezione di quelle che vuoi testare.
  • Gestisci i pulsanti di attivazione/disattivazione tramite adb. Puoi utilizzare i comandi adb per attivare e disattivare le modifiche attivabili/disattivabili nel tuo ambiente di test automatico.
  • Esegui il debug più velocemente utilizzando gli ID modifica standard. Ogni modifica attivabile/disattivabile ha 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 durante lo sviluppo attivo per il supporto di Android 17, gli interruttori possono aiutarti. Per saperne di più, consulta Modifiche al framework di compatibilità (Android 17).