Soddisfa il requisito relativo ai livelli API target di Google Play

Quando carichi un APK, quest'ultimo deve soddisfare i requisiti relativi ai livelli API target di Google Play.

A partire dal 31 agosto 2026:

  • Le nuove app e gli aggiornamenti delle app devono avere come target Android 16 (livello API 36) o versioni successive per essere inviati a Google Play, ad eccezione delle app per Wear OS e Android Automotive OS, che devono avere come target Android 15 (livello API 35) o versioni successive, e delle app per Android TV e Android XR, che devono avere come target Android 14 (livello API 34) o versioni successive.
  • Le app esistenti devono avere come target Android 15 (livello API 35) o versioni successive per rimanere disponibili per i nuovi utenti su dispositivi con sistema operativo Android superiore al livello API target della tua app. Le app che hanno come target Android 14 (livello API 34) o versioni precedenti, incluso Android 13 (livello API 33) o versioni precedenti per Wear OS, Android TV e Android XR, e Android 12 (livello API 31) o versioni precedenti per Android Automotive OS, saranno disponibili solo sui dispositivi con sistema operativo Android pari o precedente al livello API target della tua app.

Se hai bisogno di più tempo per aggiornare l'app, potrai richiedere un'estensione fino al 1° novembre 2026. Entro la fine dell'anno, potrai accedere ai moduli di estensione della tua app in Play Console.

Le eccezioni a questi requisiti includono:

  • App sempre private riservate agli utenti di un'organizzazione specifica e destinate esclusivamente alla distribuzione interna.

Perché scegliere come target SDK più recenti?

Ogni nuova versione di Android introduce modifiche che apportano miglioramenti alla sicurezza e alle prestazioni, oltre a migliorare l'esperienza utente con Android. Alcune di queste modifiche si applicano solo alle app che dichiarano esplicitamente il supporto tramite l'attributo manifest targetSdkVersion (noto anche come livello API target).

Se configuri la tua app in modo che abbia come target un livello API recente, ti assicuri che gli utenti possano beneficiare di questi miglioramenti, permettendo comunque l'esecuzione dell'app su versioni precedenti di Android. Il targeting di un livello API recente consente inoltre alla tua app di sfruttare le funzionalità più recenti della piattaforma per soddisfare gli utenti. Inoltre, a partire da Android 10 (livello API 29), gli utenti visualizzano un avviso quando avviano un'app per la prima volta se l'app ha come target Android 5.1 (livello API 22) o versioni precedenti.

Questo documento evidenzia i punti importanti che devi conoscere per aggiornare il livello API target in modo da soddisfare il requisito di Google Play. Consulta le istruzioni nelle sezioni seguenti, a seconda della versione di cui stai eseguendo la migrazione.

Esegui la migrazione da Android 12 e versioni successive (livello API 31) a una versione più recente

Per aggiornare l'app in modo che abbia come target una versione più recente di Android, segui l'elenco delle modifiche al comportamento pertinenti:

Esegui la migrazione da Android 11 (livello API 30) ad Android 12 (livello API 31)

Sicurezza e autorizzazioni

Esperienza utente

  • Notifiche personalizzate: le notifiche con visualizzazioni di contenuti personalizzate non utilizzeranno più l'intera area di notifica; il sistema applicherà invece un modello standard. Questo modello garantisce che le notifiche personalizzate abbiano la stessa decorazione delle altre notifiche in tutti gli stati. Questo comportamento è quasi identico a quello di Notification.DecoratedCustomViewStyle.
  • Modifiche alla verifica di Android App Links: quando utilizzi la verifica di Android App Links, assicurati che i filtri per intent includano la categoria BROWSABLE e supportino lo schema HTTPS.

Prestazioni

  • Limitazioni di avvio dei servizi in primo piano: per avere come target Android 12 o versioni successive, la tua app non può avviare servizi in primo piano mentre è in esecuzione in background, ad eccezione di alcuni casi speciali. Se un'app tenta di avviare un servizio in primo piano mentre è in esecuzione in background, si verifica un'eccezione (ad eccezione di alcuni casi speciali).

    Valuta la possibilità di utilizzare WorkManager per pianificare e avviare attività rapide mentre la tua app viene eseguita in background. Per completare le azioni urgenti richieste dall'utente, avvia i servizi in primo piano entro una sveglia esatta.

  • Limitazioni dei trampolini di notifica: quando gli utenti toccano le notifiche, alcune app rispondono avviando un componente dell'app che avvia l'attività che l'utente vede e con cui interagisce. Questo componente dell'app è noto come trampolino di notifica.

    Le app non devono avviare attività da servizi o broadcast receiver utilizzati come trampolini di notifica. Dopo che un utente tocca una notifica o un pulsante di azione all'interno della notifica, l'app non può chiamare startActivity() all'interno di un servizio o di un broadcast receiver.

Visualizza l'elenco completo delle modifiche che interessano le app che hanno come target Android 12 (livello API 31).

Esegui la migrazione da una versione precedente ad Android 11 (livello API 30)

Seleziona la versione di Android da cui eseguirai la migrazione:

Esegui la migrazione ad Android 5 (livello API 21)

Consulta la pagina Modifiche del comportamento corrispondente per ciascuna delle seguenti release per assicurarti che la tua app abbia tenuto conto delle modifiche introdotte in queste release:

Continua seguendo le istruzioni nella sezione successiva.

Esegui la migrazione ad Android 6 (livello API 23)

Le seguenti considerazioni si applicano alle app che hanno come target Android 6.0 e versioni successive della piattaforma:

  • Autorizzazioni di runtime

    • Le autorizzazioni pericolose vengono concesse solo in fase di runtime. I flussi della UI devono fornire affordance per la concessione di queste autorizzazioni.

    • Ove possibile, assicurati che la tua app sia pronta a gestire il rifiuto delle richieste di autorizzazione. Ad esempio, se un utente rifiuta una richiesta di accesso al GPS del dispositivo, assicurati che l'app abbia un altro modo per procedere.

Per un elenco completo delle modifiche introdotte in Android 6.0 (livello API 23), consulta la pagina Modifiche del comportamento per quella versione della piattaforma.

Continua seguendo le istruzioni nella sezione successiva.

Esegui la migrazione ad Android 7 (livello API 24)

Le seguenti considerazioni si applicano alle app destinate ad Android 7.0 e versioni successive della piattaforma:

  • Doze e Standby delle app

    Progetta in base ai comportamenti descritti in Ottimizzazione per la modalità Sospensione e lo Standby delle app, che comprende le modifiche incrementali introdotte in diverse release della piattaforma.

    Quando un dispositivo è in modalità di sospensione e Standby delle app, il sistema si comporta nel seguente modo:

    • Limita l'accesso alla rete
    • Posticipa sveglie, sincronizzazioni e job
    • Limita le scansioni GPS e Wi-Fi
    • Limita i messaggi di Firebase Cloud Messaging con priorità normale.
  • Modifiche alle autorizzazioni

    • Il sistema limita l'accesso alle directory private delle app.
    • L'esposizione di un URI file:// all'esterno della tua app attiva un FileUriExposedException. Se devi condividere file all'esterno della tua app, implementa FileProvider
  • Il sistema vieta il collegamento a librerie non NDK.

Per un elenco esaustivo delle modifiche introdotte in Android 7.0 (livello API 24), consulta la pagina Modifiche al comportamento per quella versione della piattaforma.

Continua seguendo le istruzioni nella sezione successiva.

Esegui la migrazione ad Android 8 (livello API 26)

Le seguenti considerazioni si applicano alle app che hanno come target Android 8.0 e versioni successive della piattaforma:

Per un elenco esaustivo delle modifiche introdotte in Android 8.0 (livello API 26), consulta la pagina Modifiche al comportamento per questa versione della piattaforma.

Esegui la migrazione da Android 8 (API 26) ad Android 9 (API 28)

Per un elenco esaustivo delle modifiche introdotte in Android 9.0 (livello API 28), consulta le modifiche al comportamento.

Esegui la migrazione da Android 9 (livello API 28) ad Android 10 (livello API 29)

Esegui la migrazione da Android 10 (livello API 29) ad Android 11 (livello API 30)

Per un elenco esaustivo delle modifiche introdotte in Android 11 (livello API 30), consulta la pagina Modifiche del comportamento.

Continua ad aggiornare all'API 31 seguendo le istruzioni riportate nella sezione precedente.

Modernizza le tue app

Quando aggiorni il livello API target delle tue app, valuta la possibilità di adottare le funzionalità recenti della piattaforma per modernizzare le tue app e soddisfare i tuoi utenti.

Controlla e aggiorna gli SDK e le librerie

Assicurati che le dipendenze dell'SDK di terze parti supportino l'API 31: alcuni provider di SDK la pubblicano nel proprio manifest, mentre altri richiedono ulteriori indagini. Se utilizzi un SDK che non supporta l'API 31, collabora con il provider di SDK per risolvere il problema il prima possibile.

Inoltre, tieni presente che il targetSdkVersion della tua app o del tuo gioco potrebbe limitare l'accesso alle librerie private della piattaforma Android. Per maggiori dettagli, consulta la pagina NDK Apps Linking to Platform Libraries.

Dovresti anche verificare eventuali limitazioni che potrebbero esistere nella versione della Android Support Library che stai utilizzando. Come sempre, devi garantire la compatibilità tra la versione principale di Android Support Library e il valore compileSdkVersion della tua app.

Ti consigliamo di scegliere un valore targetSdkVersion inferiore o uguale alla versione principale della libreria di assistenza. Ti invitiamo a eseguire l'aggiornamento a una libreria di assistenza compatibile recente per usufruire delle funzionalità di compatibilità e delle correzioni di bug più recenti.

Testa la tua app

Dopo aver aggiornato il livello API e le funzionalità dell'app, dovresti testare alcuni casi d'uso principali. I seguenti suggerimenti non sono esaustivi, ma mirano a guidare il processo di test. Ti suggeriamo di testare:

  • La tua app viene compilata per l'API 29 senza errori o avvisi.
  • La tua app deve avere una strategia per i casi in cui l'utente rifiuta le richieste di autorizzazione e richiede le autorizzazioni. Per farlo:

    • Vai alla schermata Informazioni app dell'app e disattiva ogni autorizzazione.
    • Apri l'app e assicurati che non si verifichino arresti anomali.
      • Esegui i test dei casi d'uso principali e assicurati che le autorizzazioni richieste vengano richieste di nuovo.
  • Gestisce Doze con i risultati previsti e senza errori.

    • Utilizzando adb, attiva la modalità di sospensione sul dispositivo di test mentre l'app è in esecuzione.
      • Testa tutti i casi d'uso che attivano i messaggi di Firebase Cloud Messaging.
      • Testa tutti i casi d'uso che utilizzano sveglie o job.
      • Elimina eventuali dipendenze dai servizi in background.
    • Imposta l'app in modalità Standby delle app
      • Testa tutti i casi d'uso che attivano i messaggi di Firebase Cloud Messaging.
      • Testa tutti i casi d'uso che utilizzano le sveglie.
  • Gestisce l'acquisizione di nuove foto / nuovi video

  • Gestisce la condivisione di file con altre app - Testa qualsiasi caso d'uso che condivide i dati dei file con qualsiasi altra app (anche un'altra app dello stesso sviluppatore)

    • Verifica che i contenuti siano visibili nell'altra app e non causino arresti anomali.

Ulteriori informazioni

Attiva le email in Google Play Console per ricevere aggiornamenti e annunci importanti da Android e Google Play, inclusa la nostra newsletter mensile per i partner.