Eseguire la migrazione ad Android Studio

La migrazione dei progetti ad Android Studio richiede l'adattamento a una nuova struttura del progetto, a un sistema di compilazione e alle funzionalità dell'IDE.

Se esegui la migrazione da IntelliJ e il tuo progetto utilizza già Gradle, puoi aprire il progetto esistente da Android Studio. Se utilizzi IntelliJ, ma il tuo progetto non utilizza già Gradle, devi prepararlo manualmente prima di poterlo importare in Android Studio. Per ulteriori informazioni, consulta la sezione Eseguire la migrazione da IntelliJ.

Nozioni di base su Android Studio

Ecco alcune delle differenze principali da tenere presenti quando ti prepari a eseguire la migrazione ad Android Studio.

Organizzazione di progetti e moduli

Android Studio si basa sull'IDE IntelliJ IDEA. Per familiarizzare con le nozioni di base dell'IDE, come navigazione, completamento del codice e scorciatoie da tastiera, consulta Informazioni su Android Studio.

Android Studio organizza il codice in progetti, che contengono tutto ciò che definisce la tua app per Android, dal codice sorgente dell'app alle configurazioni di build e al codice di test. I progetti si aprono in finestre Android Studio separate. Ogni progetto contiene uno o più moduli, che ti consentono di suddividerlo in unità di funzionalità distinte. I moduli possono essere creati, testati e sottoposti a debugging in modo indipendente.

Per saperne di più sui progetti e sui moduli di Android Studio, consulta la Panoramica dei progetti.

Sistema di build basato su Gradle

Il sistema di compilazione di Android Studio si basa su Gradle e utilizza file di configurazione di compilazione scritti in script Groovy o Kotlin per facilitare l'estensibilità e la personalizzazione.

I progetti basati su Gradle offrono funzionalità significative per lo sviluppo Android, tra cui:

  • Supporto per le librerie binarie (AAR). Non è più necessario copiare le sorgenti della raccolta nei tuoi progetti; puoi dichiarare una dipendenza e la raccolta viene scaricata e unita automaticamente al progetto. Sono inclusi il consolidamento automatico delle risorse, le voci manifest, le regole di esclusione di Proguard, le regole di lint personalizzate e così via in fase di compilazione.
  • Supporto delle varianti di build, che ti consentono di creare versioni diverse della tua app (ad esempio una versione senza costi e una versione Pro) dallo stesso progetto.
  • Configurazione e personalizzazione facili della compilazione. Ad esempio, puoi estrarre i nomi e i codici delle versioni dai tag Git durante la compilazione.
  • Gradle può essere utilizzato dall'IDE, dalla riga di comando e dai server di integrazione continua come Jenkins, fornendo la stessa build ovunque e ogni volta.

Per ulteriori informazioni sull'utilizzo e sulla configurazione di Gradle, consulta Configurare la build.

Dipendenze

Le dipendenze delle librerie in Android Studio utilizzano le dichiarazioni di dipendenza Gradle e le dipendenze Maven per le librerie di origine e binarie locali ben note con coordinate Maven. Per ulteriori informazioni, consulta la sezione Dichiarare le dipendenze.

Eseguire la migrazione da IntelliJ

Se il progetto IntelliJ utilizza il sistema di compilazione Gradle, puoi importarlo direttamente in Android Studio. Se il tuo progetto IntelliJ utilizza Maven o un altro sistema di compilazione, devi configurarlo per il funzionamento con Gradle prima di poter eseguire la migrazione ad Android Studio.

Importare un progetto IntelliJ basato su Gradle

Se utilizzi già Gradle con il tuo progetto IntelliJ, apri il progetto in Android Studio seguendo questi passaggi:

  1. Fai clic su File > Nuovo > Importa progetto.
  2. Seleziona la directory del progetto IntelliJ e fai clic su OK. Il progetto si apre in Android Studio.

Importare un progetto IntelliJ non Gradle

Se il tuo progetto IntelliJ non utilizza già il sistema di compilazione Gradle, hai due opzioni per importarlo in Android Studio, descritte nelle sezioni seguenti:

Esegui la migrazione creando un nuovo progetto vuoto

Per eseguire la migrazione del progetto in Android Studio creando un nuovo progetto vuoto e copiando i file di origine nelle nuove directory, procedi nel seguente modo:

  1. Apri Android Studio e fai clic su File > Nuovo > Nuovo progetto.
  2. Inserisci un nome per il progetto dell'app e specifica la posizione in cui deve essere creato, quindi fai clic su Avanti.
  3. Seleziona i fattori di forma su cui viene eseguita la tua app e poi fai clic su Avanti.
  4. Fai clic su Aggiungi Nessuna attività e poi su Fine.
  5. Nella finestra degli strumenti Project (Progetto), fai clic sulla freccia per aprire il menu della vista e seleziona la vista Project (Progetto) per visualizzare ed esplorare l'organizzazione del nuovo progetto Android Studio. Per scoprire di più su come modificare le viste e su come Android Studio struttura i progetti, consulta File di progetto.
  6. Vai alla posizione selezionata per il nuovo progetto e sposta il codice, i test di unità, i test di misurazione e le risorse dalle directory del vecchio progetto nelle posizioni corrette della struttura del nuovo progetto.
  7. In Android Studio, fai clic su File > Struttura progetto per aprire la finestra di dialogo Struttura progetto. Assicurati che il modulo dell'app sia selezionato nel riquadro di sinistra.
  8. Apporta le modifiche necessarie nella scheda Proprietà per il tuo progetto (ad esempio, modificando minSdk o targetSdk).
  9. Fai clic su Dipendenze e aggiungi le librerie di cui dipende il tuo progetto come dipendenze Gradle. Per aggiungere una nuova dipendenza, fai clic su Aggiungi , poi seleziona il tipo di dipendenza da aggiungere e segui le istruzioni.
  10. Fai clic su OK per salvare le modifiche.
  11. Fai clic su Compila > Crea progetto per testare la compilazione del progetto e, se necessario, risolvi eventuali errori in sospeso.

Esegui la migrazione creando un file di build Gradle personalizzato

Per eseguire la migrazione del progetto in Android Studio creando un nuovo file di compilazione Gradle che indichi i file di origine esistenti, procedi nel seguente modo:

  1. Prima di iniziare, esegui il backup dei file del progetto in una posizione distinta, poiché il processo di migrazione modifica i contenuti del progetto in situ.
  2. Crea un file nella directory del progetto denominato build.gradle, se utilizzi Groovy, o build.gradle.kts, se utilizzi lo script Kotlin. Questo file contiene tutte le informazioni necessarie per consentire a Gradle di eseguire la compilazione.

    Per impostazione predefinita, Android Studio si aspetta che il progetto sia organizzato come mostrato nella figura 1.

    Figura 1. La struttura di progetto predefinita per un modulo di app Android.

    In settings.gradle, per Groovy, o settings.gradle.kts, per lo script Kotlin, imposti i repository utilizzati per trovare plug-in e dipendenze, rispettivamente, nei blocchi pluginManagement e dependencyResolutionManagement:

    Groovy

      pluginManagement {
          repositories {
              google()
              mavenCentral()
              gradlePluginPortal()
          }
      }
      dependencyResolutionManagement {
          repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
          repositories {
              google()
              mavenCentral()
          }
      }
      rootProject.name = "Test App"
      include ':app'
      

    Kotlin

      pluginManagement {
          repositories {
              google()
              mavenCentral()
              gradlePluginPortal()
          }
      }
      dependencyResolutionManagement {
          repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
          repositories {
              google()
              mavenCentral()
          }
      }
      rootProject.name = "Test App"
      include(":app")
      

    Avviso: il repository JCenter è diventato di sola lettura il 31 marzo 2021. Per ulteriori informazioni, consulta Aggiornamento del servizio JCenter.

    Il plug-in Android per Gradle applica al progetto alcuni set di origine predefiniti. Questi set di origini definiscono le directory utilizzate per archiviare vari tipi di file di origine. Gradle utilizza questi set di origini per determinare le posizioni di tipi di file specifici. Se il progetto esistente non è conforme ai valori predefiniti, puoi spostare i file nella posizione corretta o modificare i set di origine predefiniti in modo che Gradle sappia dove trovarli.

    Per ulteriori informazioni sulla configurazione e sulla personalizzazione di un file di compilazione Gradle, consulta Configura la compilazione.

  3. A questo punto, identifica i progetti di librerie che utilizzi.

    Con Gradle, non è più necessario aggiungere queste librerie come progetti di codice sorgente. Puoi invece farvi riferimento nel blocco dependencies{} del file di compilazione. Il sistema di compilazione gestisce quindi queste librerie per te, tra cui il download delle librerie, l'unione delle risorse e l'unione delle voci manifest. L'esempio seguente aggiunge le istruzioni di dichiarazione per una serie di librerie AndroidX al blocco dependencies{} di un file di build.

    Groovy

    ...
    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
    
        // AndroidX libraries
        implementation 'androidx.core:core-ktx:1.15.0'
        implementation 'androidx.appcompat:appcompat:1.7.0'
        implementation 'androidx.cardview:cardview:1.0.0'
        implementation 'com.google.android.material:material:1.7.0'
        implementation 'androidx.gridlayout:gridlayout:1.0.0'
        implementation 'androidx.leanback:leanback:1.1.0-rc02'
        implementation 'androidx.mediarouter:mediarouter:1.7.0'
        implementation 'androidx.palette:palette-ktx:1.0.0'
        implementation 'androidx.recyclerview:recyclerview:1.3.2'
        implementation 'androidx.annotation:annotation:1.9.1'
    
        // Note: these libraries require that the Google repository has been declared
        // in the pluginManagement section of the top-level build.gradle file.
    }

    Kotlin

    ...
    dependencies {
        implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar"))))
    
        // AndroidX libraries
        implementation("androidx.core:core-ktx:1.15.0")
        implementation("androidx.appcompat:appcompat:1.7.0")
        implementation("androidx.cardview:cardview:1.0.0")
        implementation("com.google.android.material:material:1.7.0")
        implementation("androidx.gridlayout:gridlayout:1.0.0")
        implementation("androidx.leanback:leanback:1.1.0-rc02")
        implementation("androidx.mediarouter:mediarouter:1.7.0")
        implementation("androidx.palette:palette-ktx:1.0.0")
        implementation("androidx.recyclerview:recyclerview:1.3.2")
        implementation("androidx.annotation:annotation:1.9.1")
    
        // Note: these libraries require that the Google repository has been declared
        // in the pluginManagement section of the top-level build.gradle.kts file.
    }
    Per sapere come determinare le dichiarazioni di dichiarazione corrette per le tue librerie, cerca nel repository Google Maven o in Maven Central.
  4. Salva il file build.gradle, quindi chiudi il progetto in IntelliJ. Vai alla directory del progetto ed elimina la directory .idea e tutti i file IML al suo interno.
  5. Avvia Android Studio e fai clic su File > Nuovo > Importa progetto.
  6. Individua la directory del progetto, seleziona il file build.gradle o build.gradle.kts che hai creato e poi fai clic su OK per importare il progetto.
  7. Fai clic su Build > Crea progetto per testare il file di compilazione compilando il progetto e correggi gli errori rilevati.

Passaggi successivi

Dopo aver eseguito la migrazione del progetto ad Android Studio, scopri di più sulla compilazione con Gradle e sull'esecuzione dell'app in Android Studio leggendo Compilare ed eseguire l'app.

A seconda del progetto e del flusso di lavoro, ti consigliamo di scoprire di più anche sul controllo delle versioni, sulla gestione delle dipendenze e sulla configurazione di Android Studio. Per iniziare a utilizzare Android Studio, leggi Informazioni su Android Studio.

Configura il controllo della versione

Android Studio supporta una serie di sistemi di controllo della versione, tra cui Git, Mercurial e Subversion. È possibile aggiungere altri sistemi di controllo della versione tramite plug-in.

Se la tua app è già sotto controllo del codice sorgente, potresti doverla attivare in Android Studio. Dal menu VCS, fai clic su Attiva l'integrazione del controllo versione e seleziona il sistema di controllo versione appropriato.

Se la tua app non è sotto controllo del codice sorgente, puoi configurarla dopo averla importata in Android Studio. Utilizza le opzioni del menu VCS di Android Studio per attivare il supporto VCS per il sistema di controllo della versione desiderato, creare un repository, importare i nuovi file nel controllo della versione ed eseguire altre operazioni di controllo della versione:

  1. Nel menu VCS di Android Studio, fai clic su Abilita l'integrazione del controllo di versione.
  2. Seleziona un sistema di controllo della versione da associare alla directory principale del progetto dal menu e poi fai clic su OK. Il menu VCS ora mostra una serie di opzioni di controllo della versione in base al sistema selezionato.

Nota:puoi anche utilizzare l'opzione di menu File > Impostazioni > Controllo versione per configurare e modificare il controllo della versione.

Per ulteriori informazioni sull'utilizzo del controllo versione, consulta la documentazione di riferimento del controllo versione di IntelliJ.

Firma dell'app

Se in precedenza è stato utilizzato un certificato di debug, potrebbe essere rilevato durante la procedura di importazione. In questo caso, Android Studio continua a fare riferimento a quel certificato. In caso contrario, la configurazione di debug utilizza il keystore di debug generato da Android Studio, utilizzando una password nota e una chiave predefinita con una password nota situata in $HOME/.android/debug.keystore. Il tipo di build di debug è impostato per utilizzare automaticamente questa configurazione di debug quando esegui o esegui il debug del progetto da Android Studio.

Analogamente, la procedura di importazione potrebbe rilevare un certificato di rilascio esistente. Se non è stato definito alcun certificato di release in precedenza, aggiungi la configurazione della firma della release al file build.gradle o build.gradle.kts oppure utilizza l'opzione di menu Compila > Genera APK firmato per aprire la Procedura guidata per la generazione di APK firmato. Per ulteriori informazioni sulla firma dell'app, consulta Firmare l'app.

Modificare la dimensione massima dell'heap di Android Studio

Per impostazione predefinita, Android Studio ha una dimensione massima dell'heap di 1280 MB. Se lavori a un progetto di grandi dimensioni o il tuo sistema ha molta RAM, puoi migliorare le prestazioni aumentando la dimensione massima dell'heap.

Aggiornamenti software

Android Studio si aggiorna separatamente dal plug-in Gradle, dagli strumenti di compilazione e dagli strumenti SDK. Puoi specificare le versioni che vuoi utilizzare con Android Studio.

Per impostazione predefinita, Android Studio fornisce aggiornamenti automatici ogni volta che viene rilasciata una nuova versione stabile, ma puoi scegliere di eseguire l'aggiornamento più di frequente e ricevere versioni di anteprima o beta.

Per ulteriori informazioni sull'aggiornamento di Android Studio e sull'utilizzo delle versioni di anteprima e beta, consulta la pagina relativa agli aggiornamenti.