Crea ed esegui la tua app

Per vedere l'aspetto e il comportamento della tua app su un dispositivo, devi crearla ed eseguirla. Android Studio configura nuovi progetti in modo che tu possa eseguire il deployment della tua app su un dispositivo virtuale o fisico con pochi clic.

Questa panoramica è incentrata su come utilizzare Android Studio per creare ed eseguire app a scopo di test e debug. Per informazioni su come utilizzare Android Studio per creare la tua app in modo che possa essere rilasciata agli utenti, consulta Creare l'app per il rilascio agli utenti. Per informazioni più dettagliate su come gestire e personalizzare la build con o senza Android Studio, consulta l'articolo Configurare la build.

Build ed esecuzione di base

Per creare ed eseguire la tua app, segui questi passaggi:

  1. Nella barra degli strumenti, seleziona l'app dal menu Esegui configurazioni.
  2. Nel menu del dispositivo di destinazione, seleziona il dispositivo su cui vuoi eseguire l'app.

    Menu del dispositivo di destinazione.

    Se non hai configurato alcun dispositivo, devi creare un dispositivo virtuale Android per utilizzare Android Emulator o collegare un dispositivo fisico.

  3. Fai clic su Esegui .

Android Studio ti avvisa se tenti di avviare il progetto su un dispositivo a cui è associato un errore o un avviso. Iconografia e modifiche stilistiche differiscono tra errori (selezioni dei dispositivi che comportano una configurazione non funzionante) e avvisi (le selezioni dei dispositivi che potrebbero causare comportamenti imprevisti, ma che sono comunque eseguibili).

Monitora il processo di compilazione

Per visualizzare i dettagli del processo di compilazione, seleziona Visualizza > Finestre degli strumenti > Build oppure fai clic su Crea nella barra della finestra degli strumenti. La finestra dello strumento Crea mostra le attività che Gradle esegue per creare la tua app, come mostrato nella figura 1.

Figura 1. La finestra dello strumento Crea in Android Studio.
  1. Scheda Sincronizzazione: mostra le attività che Gradle esegue per sincronizzare con i file di progetto. Analogamente alla scheda Output build, se si verifica un errore di sincronizzazione, seleziona gli elementi nella struttura per ottenere maggiori informazioni sull'errore. Visualizza anche un riepilogo dell'impatto dei download per determinare se i download delle dipendenze incidono negativamente sulla build.
  2. Scheda Output build: mostra le attività eseguite da Gradle come struttura ad albero, in cui ogni nodo rappresenta una fase di build o un gruppo di dipendenze delle attività. Se ricevi errori in fase di build o di compilazione, esamina la struttura e seleziona un elemento per leggere l'output dell'errore, come mostrato nella Figura 2.
    Figura 2. Controlla la scheda Output build per verificare se sono presenti messaggi di errore.
  3. Scheda Analizzatore build: fornisce informazioni sull'analisi delle prestazioni della build. Per ulteriori informazioni, consulta Risolvere i problemi relativi alle prestazioni delle build con l'Analizzatore Build.
  4. Riavvia: esegue di nuovo l'ultima azione di build. Se l'ultima volta hai eseguito Build > Make selected Module (Crea > Crea modulo selezionato), verrà generato il modulo attuale. L'ultima volta che hai eseguito Crea > Crea progetto, verranno generati file di build intermedi per tutti i moduli del progetto.
  5. Filtri: filtra gli avvisi, le attività o entrambi quelli completati correttamente. In questo modo è più facile individuare i problemi nell'output.

Se le varianti build utilizzano le versioni di prodotto, Gradle richiama anche attività per creare le versioni di prodotto. Per visualizzare l'elenco di tutte le attività di build disponibili, fai clic su Visualizza > Finestre degli strumenti > Gradle oppure fai clic su Gradle nella barra della finestra degli strumenti.

Se si verifica un errore durante il processo di compilazione, Gradle potrebbe consigliare opzioni della riga di comando per aiutarti a risolvere il problema, come --stacktrace o --debug. Per utilizzare le opzioni della riga di comando nel processo di compilazione:

  1. Apri la finestra di dialogo Impostazioni o Preferenze:
    • Su Windows o Linux, seleziona File > Impostazioni dalla barra dei menu.
    • Su macOS, seleziona Android Studio > Preferenze dalla barra dei menu.
  2. Vai a Build, Execution, Deployment > Compilatore.
  3. Nel campo di testo accanto a Opzioni della riga di comando, inserisci le opzioni della riga di comando.
  4. Fai clic su OK per salvare e uscire.

Gradle applica queste opzioni della riga di comando la prossima volta che provi a creare la tua app.

Funzionalità avanzate di creazione ed esecuzione

Il modo predefinito per creare ed eseguire la tua app in Android Studio dovrebbe essere sufficiente per testare un'app semplice. Tuttavia, puoi utilizzare queste funzionalità di creazione ed esecuzione per casi d'uso più avanzati:

  • Per eseguire il deployment dell'app in modalità di debug, fai clic su Debug . L'esecuzione dell'app in modalità di debug ti consente di impostare punti di interruzione nel codice, esaminare variabili e valutare le espressioni in fase di runtime ed eseguire strumenti di debug. Per scoprire di più, consulta Eseguire il debug dell'app.

  • Se hai un'app di dimensioni più grandi e più complessa, utilizza Applica modifiche anziché fare clic su Esegui . Ciò consente di risparmiare tempo, perché eviti di riavviare l'app ogni volta che vuoi eseguire il deployment di una modifica. Per ulteriori informazioni su Applica modifiche, consulta la sezione Eseguire il deployment in modo incrementale con Applica modifiche.

  • Se utilizzi Jetpack Compose, Live Edit è una funzionalità sperimentale che ti consente di aggiornare le creatività componibili in tempo reale senza dover fare nuovamente clic su Esegui . In questo modo puoi concentrarti sulla scrittura del codice UI con interruzioni minime. Per ulteriori informazioni, consulta la sezione Modifica in tempo reale (sperimentale).

  • Se hai un'app con più varianti o versioni di build, puoi scegliere la variante di build di cui eseguire il deployment utilizzando la finestra dello strumento Crea varianti. Per ulteriori informazioni sull'esecuzione di una variante di build specifica, consulta la sezione Modificare la variante build.

  • Per perfezionare le opzioni di installazione, avvio e test dell'app, puoi modificare la configurazione di esecuzione/debug. Per ulteriori informazioni sulla creazione di configurazioni di esecuzione/debug personalizzate, consulta la sezione Creare configurazioni di esecuzione/debug.

  • Ti consigliamo di utilizzare Android Studio per le tue esigenze di sviluppo, ma puoi anche eseguire il deployment dell'app su un dispositivo virtuale o fisico dalla riga di comando. Per saperne di più, consulta Creare un'app dalla riga di comando.

Esegui il deployment in modo incrementale con Applica modifiche

In Android Studio 3.5 e versioni successive, la funzionalità Applica modifiche ti consente di eseguire il push delle modifiche al codice e alle risorse dell'app in esecuzione senza riavviare l'app e, in alcuni casi, senza riavviare l'attività corrente. Questa flessibilità ti aiuta a controllare la quantità di app che viene riavviata quando vuoi eseguire il deployment e testare piccole modifiche incrementali, mantenendo lo stato attuale del dispositivo.

Applica modifiche utilizza funzionalità dell'implementazione JVMTI di Android supportate sui dispositivi con Android 8.0 (livello API 26) o versioni successive. Per scoprire di più su come funziona l'applicazione delle modifiche, leggi l'articolo Marble progetto Android Studio: Applicare modifiche.

Requisiti

Le azioni Applica modifiche sono disponibili solo se soddisfi le seguenti condizioni:

  • Puoi creare l'APK della tua app utilizzando una variante della build di debug.
  • Esegui il deployment della tua app su un emulatore o un dispositivo di destinazione che esegue Android 8.0 (livello API 26) o versioni successive.

Utilizza Applica modifiche

Utilizza le opzioni seguenti quando vuoi eseguire il deployment delle modifiche su un dispositivo compatibile:

Applica modifiche e riavvia attività Icona Applica modifiche e riavvia attività: tenta di applicare le modifiche alle risorse e al codice riavviando l'attività, ma senza riavviare l'app. In genere, puoi utilizzare questa opzione dopo aver modificato il codice nel corpo di un metodo o modificato una risorsa esistente.

Puoi eseguire questa azione anche premendo Ctrl + Alt + F10 (Ctrl + Comando + Maiusc + R su macOS).

Applica modifiche al codice Icona Applica modifiche al codice : tenta di applicare solo le modifiche al codice senza riavviare nulla. In genere, puoi utilizzare questa opzione quando hai modificato il codice nel corpo di un metodo, ma non hai modificato alcuna risorsa. Se hai modificato il codice e le risorse, utilizza invece Applica modifiche e riavvia attività.

Puoi eseguire questa azione anche premendo Ctrl + F10 (Ctrl + Comando + R su macOS).

Esegui : esegue il deployment di tutte le modifiche e riavvia l'app. Utilizza questa opzione quando le modifiche apportate non possono essere applicate utilizzando nessuna delle opzioni Applica modifiche. Per scoprire di più sui tipi di modifiche che richiedono il riavvio di un'app, consulta la sezione Limiti dell'applicazione delle modifiche.

Attiva esecuzione di riserva per Applica modifiche

Quando fai clic su Applica modifiche e riavvia attività o Applica modifiche al codice, Android Studio crea un nuovo APK e determina se è possibile applicare le modifiche. Se non è possibile applicare le modifiche e non è possibile applicare le modifiche, Android Studio ti chiede di eseguire di nuovo Icona Esegui l'app.

Se non vuoi che ti venga chiesto ogni volta che si verifica questa situazione, puoi configurare Android Studio in modo che riesegui automaticamente l'app quando non è possibile applicare le modifiche. Per attivare questo comportamento, procedi nel seguente modo:

  1. Apri la finestra di dialogo Impostazioni o Preferenze:

    • Su Windows o Linux, seleziona File > Impostazioni dal menu.
    • Su macOS, seleziona Android Studio > Preferenze dal menu.
  2. Vai a Build, Execution, Deployment > Deployment.

  3. Seleziona le caselle di controllo per attivare l'esecuzione automatica di riserva per una o entrambe le azioni Applica modifiche.

  4. Fai clic su OK.

Modifiche che dipendono dalla piattaforma

Alcune funzionalità di Applica modifiche dipendono da versioni specifiche della piattaforma Android. Per applicare questo tipo di modifiche, è necessario eseguire il deployment dell'app su un dispositivo che esegue quella versione di Android (o successiva). Ad esempio, l'aggiunta di un metodo richiede Android 11 o versioni successive.

Limitazioni dell'applicazione delle modifiche

L'opzione Applica modifiche è progettata per velocizzare il processo di deployment delle app. Tuttavia, esistono alcune limitazioni al suo utilizzo.

Modifiche al codice che richiedono il riavvio dell'app

Alcune modifiche al codice e alle risorse non possono essere applicate finché l'app non viene riavviata, tra cui:

  • Aggiungere o rimuovere un campo
  • Rimozione di un metodo
  • Modifica delle firme del metodo
  • Modifica dei modificatori di metodi o classi
  • Modifica dell'ereditarietà delle classi
  • Modifica dei valori nelle enumerazioni
  • Aggiunta o rimozione di una risorsa
  • Modifica del file manifest dell'app
  • Modifica delle librerie native (file SO)
Librerie e plug-in

Alcune librerie e plug-in apportano automaticamente modifiche ai file manifest dell'app o alle risorse a cui viene fatto riferimento nel file manifest. Questi aggiornamenti automatici possono interferire con Applica modifiche nei seguenti modi:

  • Se una libreria o un plug-in apporta modifiche al file manifest dell'app, non puoi utilizzare Applica modifiche. Per vedere le modifiche, devi riavviare l'app.
  • Se una libreria o un plug-in apporta modifiche ai file delle risorse della tua app, non puoi utilizzare Applica modifiche al codice Icona Applica modifiche al codice. Per visualizzare le modifiche, devi utilizzare Applica modifiche e riavvia attività Icona Applica modifiche e riavvia attività (o riavviare l'app).

Per evitare queste limitazioni, disattiva tutti gli aggiornamenti automatici per le varianti della build di debug.

Ad esempio, Firebase Crashlytics aggiorna le risorse dell'app con un ID build univoco durante ogni build, il che ti impedisce di utilizzare Applica modifiche al codice Icona Applica modifiche al codice e richiede di riavviare l'attività dell'app per visualizzare le modifiche. Disabilita questo comportamento per utilizzare Applica modifiche al codice insieme a Crashlytics con le build di debug.

Codice che fa riferimento direttamente ai contenuti in un APK installato

Se il codice fa riferimento direttamente ai contenuti dell'APK della tua app installato sul dispositivo, il codice potrebbe causare arresti anomali o avere un comportamento anomalo dopo aver fatto clic su Applica modifiche al codice Icona Applica modifiche al codice. Questo comportamento si verifica perché, quando fai clic su Applica modifiche al codice, l'APK sottostante sul dispositivo viene sostituito durante l'installazione. In questi casi, puoi fare clic su Applica modifiche e riavvia attività Icona Applica modifiche e riavvia attività o Esegui Icona Esegui.

Se riscontri altri problemi durante l'utilizzo di Applica modifiche, segnala un bug.

Modifica in tempo reale

Live Edit è una funzionalità sperimentale di Android Studio che ti consente di aggiornare elementi componibili in emulatori e dispositivi fisici in tempo reale. Questa funzionalità riduce al minimo i cambi di contesto tra la scrittura e la creazione dell'app, consentendoti di concentrarti sulla scrittura del codice più a lungo senza interruzioni.

Scopri di più su Live Edit

Modificare la variante build

Per impostazione predefinita, Android Studio crea la versione di debug dell'app, che deve essere utilizzata solo durante lo sviluppo, quando fai clic su Esegui Pulsante UI.

Per modificare la variante di build utilizzata da Android Studio, procedi in uno dei seguenti modi:

  • Seleziona Build > Seleziona variante build nel menu.
  • Seleziona Visualizza > Finestre degli strumenti > Crea varianti nel menu.
  • Fai clic sulla scheda Crea varianti nella barra della finestra degli strumenti.

Per i progetti senza codice nativo/C++, il riquadro Crea varianti ha due colonne: Modulo e Variante build attiva. Il valore Variante build attiva per il modulo determina quale variante di build viene distribuita dall'IDE sul dispositivo connesso ed è visibile nell'editor.

Figura 9. Il riquadro Crea varianti ha due colonne per i progetti che non hanno codice nativo/C++.

Per passare da una variante all'altra, fai clic sulla cella Variante build attiva per un modulo e scegli la variante che ti interessa dall'elenco.

Per i progetti con codice nativo/C++, il riquadro Crea varianti contiene tre colonne:

  • Modulo
  • Variante Active Build
  • ABI attiva

Il valore Variante build attiva per il modulo determina la variante di build che l'IDE esegue il deployment sul dispositivo ed è visibile nell'editor. Per i moduli nativi, il valore ABI attiva determina l'ABI utilizzata dall'editor, ma non influisce su ciò di cui viene eseguito il deployment.

Figura 10. Il riquadro Crea varianti aggiunge la colonna ABI attiva per i progetti con codice nativo/C++.

Per modificare la variante build o l'ABI, fai clic sulla cella della colonna Variante della build attiva o ABI attiva e scegli la variante o l'ABI che ti interessa dall'elenco. Dopo aver modificato la selezione, l'IDE sincronizza automaticamente il progetto. La modifica di una delle colonne per un'app o un modulo libreria applica la modifica a tutte le righe dipendenti.

Per impostazione predefinita, i nuovi progetti sono configurati con due varianti di build: una variante di debug e una variante di release. Devi creare la variante della release per preparare l'app per la release pubblica. Per definire altre varianti dell'app con funzionalità o requisiti di dispositivi diversi, puoi definire varianti di build aggiuntive.

Conflitti nella finestra di dialogo Varianti build di Android Studio

Nella finestra di dialogo Crea varianti di Android Studio, potrebbero essere visualizzati messaggi di errore che indicano conflitti tra le varianti di build, come i seguenti:

Finestra della variante di build che mostra gli errori di conflitto delle varianti

Questo errore non indica un problema di build con Gradle. Indica che l'IDE di Android Studio non è in grado di risolvere i simboli tra le varianti dei moduli selezionati.

Ad esempio, se hai un modulo M1 che dipende dalla variante v1 del modulo M2, ma per M2 è selezionata la variante v2 nell'IDE, hai simboli irrisolti nell'IDE. Supponiamo che M1 dipenda da una classe disponibile solo in v1; quando è selezionato v2, tale classe non è nota all'IDE. Di conseguenza non riesce a risolvere il nome della classe e mostra errori nel codice del modulo M1.

Questi messaggi di errore vengono visualizzati perché l'IDE non può caricare il codice per più varianti contemporaneamente. In termini di build dell'app, tuttavia, la variante selezionata in questa finestra di dialogo non ha alcun effetto, perché Gradle crea l'app con il codice sorgente specificato nelle formule di build di Gradle, non in base a ciò che è attualmente caricato nell'IDE.

Modificare la configurazione di esecuzione/debug

Quando esegui l'app per la prima volta, Android Studio utilizza una configurazione di esecuzione predefinita. La configurazione di esecuzione specifica se eseguire il deployment della tua app da un APK o Android App Bundle, nonché il modulo da eseguire, il pacchetto da implementare, l'attività da avviare, il dispositivo di destinazione, le impostazioni dell'emulatore, le opzioni di Logcat e altro ancora.

La configurazione di esecuzione/debug predefinita crea un APK, avvia l'attività predefinita del progetto e utilizza la finestra di dialogo Seleziona la destinazione del deployment per la selezione del dispositivo di destinazione. Se le impostazioni predefinite non sono adatte al tuo progetto o modulo, puoi personalizzare la configurazione di esecuzione/debug o crearne una nuova a livello di progetto, predefinito e modulo.

Per modificare una configurazione di esecuzione o debug, seleziona Esegui > Modifica configurazioni. Per ulteriori informazioni, consulta Creare e modificare le configurazioni di esecuzione/debug.