Crea ed esegui la tua app

Per vedere l'aspetto e il comportamento della tua app su un dispositivo, devi compilarla 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 si concentra su come utilizzare Android Studio per creare ed eseguire l'app per 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, vedi Configura la build.

Creazione ed esecuzione di base

Per creare ed eseguire l'app:

  1. Nella barra degli strumenti, seleziona la tua app dal menu delle configurazioni di esecuzione.
  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 l'emulatore Android 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. Le modifiche stilistiche e all'iconografia distinguono tra errori (selezioni di dispositivi che comportano una configurazione interrotta) e avvisi (selezioni di dispositivi che potrebbero comportare un comportamento inatteso, ma sono comunque eseguibili).

Monitorare il processo di compilazione

Per visualizzare i dettagli sul processo di build, seleziona Visualizza > Finestre strumenti > Build o fai clic su Build nella barra della finestra degli strumenti. La finestra degli strumenti Build mostra le attività eseguite da Gradle per creare la tua app, come mostrato nella figura 1.

Figura 1. La finestra degli strumenti Build in Android Studio.
  1. Scheda Sincronizzazione:mostra le attività eseguite da Gradle per la sincronizzazione con i file di progetto. Analogamente alla scheda Output build, se si verifica un errore di sincronizzazione, seleziona gli elementi nell'albero per visualizzare ulteriori informazioni sull'errore. Mostra anche un riepilogo dell'impatto dei download per determinare se i download delle dipendenze influiscono negativamente sulla build.
  2. Scheda Output build:mostra le attività eseguite da Gradle come un albero, dove ogni nodo rappresenta una fase di build o un gruppo di dipendenze delle attività. Se ricevi errori in fase di compilazione o build, controlla l'albero e seleziona un elemento per leggere l'output dell'errore, come mostrato nella Figura 2.
    Figura 2. Controlla la scheda Output build per individuare eventuali messaggi di errore.
  3. Scheda Analizzatore build:fornisce informazioni sull'analisi del rendimento della build. Per saperne di più, consulta Risolvere i problemi di prestazioni di build con Build Analyzer.
  4. Riavvia:esegue di nuovo l'ultima azione di build. Se l'ultima volta hai eseguito Build > Make Selected Module, verrà creato il modulo corrente. Se l'ultima volta hai eseguito Build > Make Project, verranno generati file di build intermedi per tutti i moduli del progetto.
  5. Filtri:filtra gli avvisi, le attività o entrambi che sono stati completati correttamente. In questo modo, è più facile trovare problemi nell'output.

Se le varianti di build utilizzano i gusti del prodotto, Gradle richiama anche le attività per creare questi gusti. Per visualizzare l'elenco di tutte le attività di build disponibili, fai clic su Visualizza > Finestre degli strumenti > Gradle o su Gradle nella barra delle finestre degli strumenti.

Se si verifica un errore durante la procedura di build, Gradle potrebbe consigliare opzioni della riga di comando per aiutarti a risolvere il problema, ad esempio --stacktrace o --debug. Per utilizzare le opzioni della riga di comando con il 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 > Compiler.
  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 al successivo tentativo di compilazione dell'app.

Crea ed esegui utilizzando l'agente AI

L'agente AI in Android Studio ha accesso a strumenti che gli consentono di creare e distribuire la tua app e quindi verificarne lo stato per tuo conto. Quando utilizzi la modalità Agent, l'agente può svolgere attività come:

  • Esegui il deployment dell'app su un dispositivo fisico o un emulatore connesso.
  • Esamina lo schermo e scatta screenshot per verificare le modifiche all'interfaccia utente.
  • Controlla Logcat per errori di runtime o messaggi di log specifici.
  • Interagisci con la tua app utilizzando i comandi adb shell per navigare o inserire dati.

L'utilizzo dell'agente AI per creare ed eseguire l'app è utile per le attività in più fasi in cui l'agente deve apportare modifiche in modo iterativo e verificare che funzionino come previsto.

Strumenti di interazione con il dispositivo in Android Studio.
Figura 3: l'agente AI può aiutarti a testare e verificare le modifiche su un dispositivo.

Funzionalità avanzate di compilazione 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 le variabili e valutare le espressioni in fase di runtime, nonché eseguire strumenti di debug. Per scoprire di più, vedi Eseguire il debug dell'app.

  • Se hai un'app più grande e complessa, utilizza Applica modifiche anziché fare clic su Esegui . In questo modo risparmi tempo, perché eviti di riavviare l'app ogni volta che vuoi implementare 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 i composable in tempo reale senza fare di nuovo clic su Esegui . In questo modo, puoi concentrarti sulla scrittura del codice dell'interfaccia utente con interruzioni minime. Per ulteriori informazioni, consulta la sezione Modifica live (sperimentale).

  • Se hai un'app con più varianti o versioni di build, puoi scegliere quale variante di build distribuire utilizzando la finestra degli strumenti Varianti di build. Per saperne di più sull'esecuzione di una variante di build specifica, consulta la sezione Modificare la variante di build.

  • Per perfezionare le opzioni di installazione, avvio e test delle app, puoi modificare la configurazione di esecuzione/debug. Per saperne di più 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 della tua app su un dispositivo virtuale o fisico dalla riga di comando. Per maggiori informazioni, vedi Compilare l'app dalla riga di comando.

Esegui il deployment in modo incrementale con Applica modifiche

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

Applica modifiche utilizza funzionalità nell'implementazione JVMTI di Android supportate sui dispositivi con Android 8.0 (livello API 26) o versioni successive. Per scoprire di più su come funziona Applica modifiche, consulta Android Studio Project Marble: Apply Changes.

Requisiti

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

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

Utilizzare Applica modifiche

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

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

Puoi eseguire questa azione anche premendo Control+Alt+F10 (Control+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 sia il codice che le risorse, utilizza Applica modifiche e riavvia attività.

Puoi eseguire questa azione anche premendo Control+F10 (Control+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 una delle opzioni Applica modifiche. Per scoprire di più sui tipi di modifiche che richiedono il riavvio dell'app, consulta la sezione Limitazioni di Applica modifiche.

Attivare l'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 le modifiche possono essere applicate. Se le modifiche non possono essere applicate e causerebbero l'errore di Applica modifiche, Android Studio ti chiede di Eseguire di nuovo Icona Run la tua app.

Se non vuoi che ti venga chiesto ogni volta che si verifica questo problema, puoi configurare Android Studio in modo che esegua nuovamente l'app automaticamente quando le modifiche non possono essere applicate. Per attivare questo comportamento, segui questi passaggi:

  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 il fallback di esecuzione automatica per una o entrambe le azioni Applica modifiche.

  4. Fai clic su OK.

Modifiche dipendenti dalla piattaforma

Alcune funzionalità di Applica modifiche dipendono da versioni specifiche della piattaforma Android. Per applicare questi tipi di modifiche, la tua app deve essere implementata su un dispositivo con quella versione di Android (o versioni successive). Ad esempio, l'aggiunta di un metodo richiede Android 11 o versioni successive.

Limitazioni di Applica modifiche

Applica modifiche è progettato per velocizzare la procedura di deployment delle app. Tuttavia, ci sono alcune limitazioni sui casi in cui può essere utilizzato.

Modifiche al codice che richiedono il riavvio dell'app

Alcune modifiche al codice e alle risorse non possono essere applicate fino al riavvio dell'app, tra cui:

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

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

  • Se una libreria o un plug-in apportano modifiche al manifest dell'app, non puoi utilizzare Applica modifiche. Per visualizzare le modifiche, devi riavviare l'app.
  • Se una libreria o un plug-in apporta modifiche ai file di risorse dell'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 (o riavviare l'app).

Per evitare queste limitazioni, disattiva tutti gli aggiornamenti automatici per le varianti di 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 il riavvio dell'attività dell'app per visualizzare le modifiche. Disattiva questo comportamento per utilizzare Applica modifiche al codice insieme a Crashlytics con le tue build di debug.

Codice che fa riferimento diretto ai contenuti di un APK installato

Se il codice fa riferimento diretto ai contenuti dell'APK dell'app installato sul dispositivo, può causare arresti anomali o malfunzionamenti 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 o Esegui Icona Run.

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

Live Edit

Live Edit è una funzionalità sperimentale di Android Studio che ti consente di aggiornare i composable 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 più a lungo sulla scrittura del codice senza interruzioni.

Scopri di più su Live Edit

Modificare la variante di build

Per impostazione predefinita, Android Studio crea la versione di debug della tua app, che è destinata all'uso solo durante lo sviluppo, quando fai clic su Esegui Pulsante
UI.

Per modificare la variante di build utilizzata da Android Studio, esegui una delle seguenti operazioni:

  • Seleziona Build > Select Build Variant (Seleziona variante di build) nel menu.
  • Seleziona Visualizza > Finestre degli strumenti > Varianti di build nel menu.
  • Fai clic sulla scheda Varianti di build nella barra della finestra degli strumenti.

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

Figura 9. Il riquadro Varianti di build ha due colonne per i progetti che non hanno codice nativo/C++.

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

Per i progetti con codice nativo/C++, il riquadro Varianti di build ha tre colonne:

  • Modulo
  • Variante di build attiva
  • ABI attivo

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

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

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

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

Conflitti nella finestra di dialogo Varianti di build di Android Studio

Nella finestra di dialogo Varianti di build di Android Studio, potresti visualizzare messaggi di errore che indicano conflitti tra le varianti di build, ad esempio:

Finestra Crea variante che mostra gli errori di conflitto tra le varianti

Questo errore non indica un problema di build con Gradle. Indica che l'IDE Android Studio non riesce a 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 M2 ha la variante v2 selezionata nell'IDE, nell'IDE sono presenti simboli non risolti. Supponiamo che M1 dipenda da una classe disponibile solo in v1; quando v2 è selezionato, la classe non è nota all'IDE. Pertanto, 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 contemporaneamente il codice per più varianti. Tuttavia, in termini di build dell'app, la variante selezionata in questa finestra di dialogo non ha alcun effetto, perché Gradle compila l'app con il codice sorgente specificato nelle ricette di build Gradle, non in base a ciò che è attualmente caricato nell'IDE.

Modifica 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 dell'app da un APK o da un Android App Bundle, nonché il modulo da eseguire, il pacchetto da distribuire, l'attività da avviare, il dispositivo di destinazione, le impostazioni dell'emulatore, le opzioni Logcat e altro ancora.

La configurazione di esecuzione/debug predefinita crea un APK, avvia l'attività di progetto predefinita e utilizza la finestra di dialogo Seleziona destinazione di 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/debug, seleziona Esegui > Modifica configurazioni. Per maggiori informazioni, consulta Creare e modificare le configurazioni di esecuzione/debug.