Preparare l'app per la release

Per preparare la tua app per il rilascio, devi configurare, creare e testare una versione di rilascio dell'app. Le attività di configurazione comportano attività di pulizia e modifica del codice di base che aiutano a ottimizzare l'app. Il processo di creazione è simile a quello di debug e può essere eseguito utilizzando gli strumenti JDK e Android SDK.

I test servono come controllo finale per garantire che la tua app funzioni come previsto in condizioni reali. Firebase offre un ampio set di dispositivi di test fisici e virtuali tramite Firebase Test Lab che puoi utilizzare per migliorare la qualità della tua app.

Quando hai finito di preparare l'app per la release, hai un file APK firmato, che puoi distribuire direttamente agli utenti o tramite un marketplace di app come Google Play.

Questo documento riassume le attività principali che devi svolgere per preparare la tua app per la release. Le attività descritte in questa pagina si applicano a tutte le app per Android, indipendentemente da come vengono rilasciate o distribuite agli utenti. Se pubblichi la tua app tramite Google Play, leggi Pubblicare le release in tutta sicurezza.

Nota:come best practice, assicurati che la tua app soddisfi tutti i criteri di rilascio per funzionalità, prestazioni e stabilità prima di eseguire le attività descritte in questa pagina.

Mostra come il processo di preparazione si inserisce nel processo di sviluppo

Figura 1. La preparazione per la release è un'attività di sviluppo obbligatoria e il primo passaggio della procedura di pubblicazione.

Attività da preparare per la release

Per rilasciare la tua app agli utenti, devi creare un pacchetto pronto per il rilascio che gli utenti possano installare ed eseguire sui loro dispositivi Android. Il pacchetto pronto per il rilascio contiene gli stessi componenti del file APK di debug (codice sorgente compilato, risorse, file manifest e così via) e viene creato utilizzando gli stessi strumenti di build. Tuttavia, a differenza del file APK di debug, il file APK pronto per il rilascio è firmato con il tuo certificato ed è ottimizzato con lo strumento zipalign.

Mostra le cinque attività che esegui per preparare la tua app per la release

Figura 2. Ci sono cinque attività principali per preparare la tua app per il rilascio.

Le attività di firma e ottimizzazione sono in genere fluide se crei la tua app con Android Studio. Ad esempio, puoi utilizzare Android Studio con i file di build Gradle per compilare, firmare e ottimizzare la tua app contemporaneamente. Puoi anche configurare i file di build Gradle per eseguire la stessa operazione quando esegui la build dalla riga di comando. Per maggiori dettagli sull'utilizzo dei file di build Gradle, consulta Configurare la build.

Per preparare la tua app per la release, in genere esegui cinque attività principali, come mostrato nella Figura 2. Ogni attività principale può includere una o più attività più piccole, a seconda di come rilasci la tua app. Ad esempio, se rilasci la tua app tramite Google Play, potresti voler aggiungere regole di filtro speciali al manifest mentre configuri l'app per il rilascio. Allo stesso modo, per rispettare le linee guida per la pubblicazione di Google Play, potresti dover preparare screenshot e creare un testo promozionale mentre raccogli i materiali per la release.

In genere, esegui le attività elencate nella figura 2 dopo aver eseguito il debug e il test approfonditi della tua app. L'SDK Android contiene diversi strumenti per aiutarti a testare ed eseguire il debug delle tue app Android. Per ulteriori informazioni, vedi Eseguire il debug dell'app e Testare l'app.

Raccogliere materiali e risorse

Per preparare la tua app per la release, devi raccogliere diversi elementi di supporto. Come minimo, sono incluse le chiavi di crittografia per firmare l'app e un'icona dell'app. Potresti anche includere un contratto di licenza con l'utente finale.

Chiavi crittografiche

Android richiede che tutti gli APK siano firmati digitalmente con un certificato prima di essere installati su un dispositivo o aggiornati. Per Google Play Store, tutte le app create dopo agosto 2021 devono utilizzare Play App Signing. Tuttavia, il caricamento dell'AAB su Play Console richiede comunque la firma con il certificato sviluppatore. Le app meno recenti possono ancora essere firmate autonomamente, ma che tu utilizzi la funzionalità firma dell'app di Google Play o la firma autonoma, devi firmare l'app prima di poterla caricare.

Per informazioni sui requisiti dei certificati, consulta Firma dell'app.

Importante:la tua app deve essere firmata con una chiave crittografica con un periodo di validità che termina dopo il 22 ottobre 2033.

Potresti anche dover ottenere altre chiavi di rilascio se la tua app accede a un servizio o utilizza una libreria di terze parti che richiede l'utilizzo di una chiave basata sulla tua chiave privata.

Icona dell'app

L'icona dell'app aiuta gli utenti a identificarla nella schermata Home di un dispositivo e nella finestra di Avvio app. Viene visualizzato anche in Gestisci applicazioni, I miei download e altrove. Inoltre, i servizi di pubblicazione come Google Play mostrano la tua icona agli utenti. Assicurati di avere un'icona dell'app e che rispetti le linee guida per le icone consigliate.

Nota: se pubblichi la tua app su Google Play, devi creare una versione ad alta risoluzione della tua icona. Per ulteriori informazioni, consulta la pagina Aggiungere risorse di anteprima per mettere in evidenza un'app.

Contratto di licenza con l'utente finale

Valuta la possibilità di preparare un contratto di licenza con l'utente finale (EULA) per la tua app. Un EULA può aiutarti a proteggere la tua persona, la tua organizzazione e la tua proprietà intellettuale e ti consigliamo di fornirne uno con la tua app.

Materiali vari

Potresti anche dover preparare materiali promozionali e di marketing per pubblicizzare la tua app. Ad esempio, se rilasci la tua app su Google Play, dovrai preparare del testo promozionale e creare screenshot della tua app. Per ulteriori informazioni, consulta Aggiungere asset di anteprima per mostrare la tua app.

Configurare l'app per la release

Dopo aver raccolto tutti i materiali di supporto, puoi iniziare a configurare l'app per la release. Questa sezione fornisce un riepilogo delle modifiche alla configurazione che ti consigliamo di apportare al codice sorgente, ai file di risorse e al manifest dell'app prima di rilasciarla.

Sebbene la maggior parte delle modifiche alla configurazione elencate in questa sezione siano facoltative, sono considerate buone pratiche di programmazione e ti consigliamo di implementarle. In alcuni casi, potresti aver già apportato queste modifiche alla configurazione nell'ambito del processo di sviluppo.

Scegli un ID applicazione adatto

Assicurati di scegliere un ID applicazione adatto per l'intero ciclo di vita dell'app. Non puoi modificare l'ID applicazione dopo aver distribuito l'app agli utenti. Per impostarlo, utilizza la proprietà applicationId nel file build.gradle o build.gradle.kts a livello di modulo. Per maggiori informazioni, vedi Impostare l'ID applicazione.

Disattivare il debug

Per configurare se l'APK è eseguibile in modalità debug, utilizza il flag debuggable per Groovy o il flag isDebuggable per lo script Kotlin:

Kotlin

  android {
    ...
    buildTypes {
      release {
        isDebuggable = false
        ...
      }
      debug {
        isDebuggable = true
        ...
      }
    }
    ...
  }
  

Trendy

  android {
    ...
    buildTypes {
      release {
        debuggable false
        ...
      }
      debug {
        debuggable true
        ...
      }
    }
    ...
  }

Attivare e configurare la riduzione delle app

Molte delle seguenti ottimizzazioni possono essere automatizzate attivando la riduzione per la build di release. Ad esempio, puoi aggiungere regole ProGuard per rimuovere le istruzioni di log e lo strumento di riduzione identificherà e rimuoverà il codice e le risorse inutilizzati. Lo strumento di riduzione può anche sostituire i nomi di classi e variabili con nomi più brevi per ridurre ulteriormente le dimensioni del file DEX.

Disattiva logging

Disattiva la registrazione prima di creare la tua app per il rilascio. Puoi disattivare la registrazione rimuovendo le chiamate ai metodi Log nei file di origine. Inoltre, rimuovi tutti i file di log o di test statici creati nel progetto.

Inoltre, rimuovi tutte le chiamate di tracciamento Debug che hai aggiunto al codice, ad esempio le chiamate ai metodi startMethodTracing() e stopMethodTracing().

Importante: se utilizzi WebView per visualizzare contenuti a pagamento o interfacce JavaScript, assicurati di disattivare il debug per la tua app, perché il debug consente agli utenti di inserire script ed estrarre contenuti utilizzando Chrome DevTools. Per disattivare il debug, utilizza il metodo WebView.setWebContentsDebuggingEnabled().

Pulire le directory del progetto

Pulisci il progetto e assicurati che sia conforme alla struttura delle directory descritta in Panoramica dei progetti. Se lasci file orfani o sparsi nel progetto, l'app non potrà essere compilata e il suo comportamento sarà imprevedibile. Esegui almeno le seguenti operazioni di pulizia:

  • Controlla i contenuti delle directory cpp/, lib/ e src/. La directory cpp/ deve contenere solo i file di origine associati all'Android NDK, ad esempio file di origine C o C++, file di intestazione o makefile. La directory lib/ deve contenere solo file di librerie di terze parti o file di librerie private, incluse le librerie condivise e statiche precompilate. La directory src/ deve contenere solo i file di origine dell'app (file Java, Kotlin e AIDL). La directory src/ non deve contenere file JAR.
  • Controlla il progetto per individuare file di dati privati o proprietari che la tua app non utilizza e rimuovili. Ad esempio, cerca nella directory res/ del tuo progetto i vecchi file drawable, di layout e di valori che non utilizzi più ed eliminali.
  • Controlla la directory lib/ per le librerie di test e rimuovile se non vengono più utilizzate dalla tua app.
  • Esamina i contenuti della directory assets/ e della directory res/raw/ per i file di asset grezzi e i file statici che devi aggiornare o rimuovere prima del rilascio.

Esaminare e aggiornare le impostazioni di build di Gradle e del manifest

Verifica che i seguenti elementi dei file manifest e di build siano impostati correttamente:

  • Elemento <uses-permission>

    Specifica solo le autorizzazioni pertinenti e necessarie per la tua app.

  • Attributi android:icon e android:label

    Devi specificare i valori di questi attributi, che si trovano nell'elemento <application>.

  • Proprietà versionCode e versionName

    Ti consigliamo di specificare i valori per queste proprietà, che si trovano nel file build.gradle o build.gradle.kts a livello di modulo dell'app. Per maggiori informazioni, vedi Eseguire il controllo della versione dell'app.

Esistono diversi elementi aggiuntivi del file di build che puoi impostare se pubblichi la tua app su Google Play. Ad esempio, gli attributi minSdk e targetSdk, che si trovano nel file build.gradle o build.gradle.kts a livello di modulo dell'app. Per saperne di più su queste e altre impostazioni di Google Play, consulta la pagina Filtri su Google Play.

Problemi di compatibilità degli indirizzi

Android fornisce diversi strumenti e tecniche per rendere la tua app compatibile con un'ampia gamma di dispositivi. Per rendere la tua app disponibile al maggior numero di utenti, valuta la possibilità di fare quanto segue:

Aggiungi il supporto per più configurazioni dello schermo.
Assicurati di rispettare le best practice per il supporto di più schermi. Supportando più configurazioni dello schermo, puoi creare un'app che funzioni correttamente e abbia un bell'aspetto su qualsiasi dimensione dello schermo supportata da Android.
Ottimizza l'app per display più grandi.
Puoi ottimizzare la tua app per farla funzionare correttamente su dispositivi con display di grandi dimensioni come tablet e pieghevoli. Ad esempio, i layout elenco-dettagli possono migliorare l'usabilità su schermi più grandi.
Valuta la possibilità di utilizzare le librerie Jetpack.
Jetpack è una suite di librerie che aiutano gli sviluppatori a seguire le best practice, ridurre il codice boilerplate e scrivere codice che funzioni in modo coerente su versioni e dispositivi Android.

Aggiorna gli URL per server e servizi

Se la tua app accede a server o servizi remoti, assicurati di utilizzare l'URL o il percorso di produzione per il server o il servizio e non un URL o un percorso di test.

Implementare le licenze per Google Play

Se pubblichi un'app a pagamento tramite Google Play, valuta la possibilità di aggiungere il supporto per Google Play Licensing. Le licenze ti consentono di controllare l'accesso alla tua app in base all'acquisto da parte dell'utente attuale. L'utilizzo di Google Play Licensing è facoltativo, anche se pubblichi la tua app tramite Google Play.

Per saperne di più sul servizio di gestione licenze di Google Play e su come utilizzarlo nella tua app, consulta la sezione Gestione licenze app.

Crea la tua app per la release

Dopo aver completato la configurazione dell'app, puoi compilarla in un file APK pronto per il rilascio, firmato e ottimizzato. L'JDK include gli strumenti per firmare il file APK (Keytool e Jarsigner); l'SDK Android include gli strumenti per compilare e ottimizzare il file APK. Se utilizzi Android Studio o il sistema di compilazione Gradle dalla riga di comando, puoi automatizzare l'intero processo di compilazione. Per saperne di più sulla configurazione delle build Gradle, consulta Configurare le varianti di build.

Se utilizzi un sistema di integrazione continua, puoi configurare un'attività per automatizzare il processo di rilascio. Ciò non si limita alla creazione dell'APK o dell'AAB della release. Puoi anche configurarlo per caricare automaticamente gli artefatti di build su Play Console.

Compila con Android Studio

Puoi utilizzare il sistema di compilazione Gradle, integrato in Android Studio, per creare un file APK pronto per il rilascio firmato con la tua chiave privata e ottimizzato. Per scoprire come configurare ed eseguire le build da Android Studio, consulta Compilare ed eseguire l'app.

Il processo di compilazione presuppone che tu disponga di un certificato e di una chiave privata adatti alla firma dell'app. Se non disponi di un certificato e di una chiave privata adatti, Android Studio può aiutarti a generarne uno. Per ulteriori informazioni sulla procedura di firma, consulta Firma dell'app.

Prepara server e risorse esterni

Se la tua app si basa su un server remoto, assicurati che sia sicuro e che sia configurato per l'utilizzo in produzione. Ciò è particolarmente importante se implementi la fatturazione in-app nella tua app ed esegui il passaggio di verifica della firma su un server remoto.

Inoltre, se la tua app recupera contenuti da un server remoto o da un servizio in tempo reale (ad esempio un feed di contenuti), assicurati che i contenuti che fornisci siano aggiornati e pronti per la produzione.

Testare l'app per il rilascio

Testare la versione di rilascio dell'app contribuisce a garantire che l'app funzioni correttamente in condizioni realistiche di dispositivo e rete. Idealmente, testa la tua app su almeno un dispositivo delle dimensioni di uno smartphone e uno delle dimensioni di un tablet per verificare che le dimensioni degli elementi dell'interfaccia utente siano corrette e che le prestazioni e l'efficienza della batteria dell'app siano accettabili. Firebase Test Lab può essere utile anche per testare una serie di dispositivi e versioni del sistema operativo Android diversi.

Come punto di partenza per i test, consulta la pagina Qualità principale delle app. Quando hai terminato il test e sei soddisfatto del comportamento della versione di rilascio dell'app, puoi rilasciarla agli utenti. Per saperne di più, vedi Pubblicare l'app per gli utenti.