Android Studio è l'ambiente di sviluppo ufficiale per Android, basato su IntelliJ IDEA Community Edition. L'IDE include un editor di codice con completamento automatico per Kotlin e Java, un Layout Editor visivo, un emulatore Android, un profiler di risorse e strumenti di compilazione tramite Gradle. Android Studio su Android Developers è la fonte principale per installazione e guide.
Punti chiave
Android Studio IDE è l'ambiente di sviluppo ufficiale di Google, rilasciato nel 2013 basato su IntelliJ IDEA Community. Fornisce un set completo di strumenti per applicazioni Android: scrittura di codice (Kotlin/Java), progettazione visiva dell'interfaccia utente (XML/Jetpack Compose), compilazione (Gradle), test (JUnit/Espresso) e profilazione.
La versione attuale è Android Studio Ladybug (2025), basata su IntelliJ 2024.3. L'IDE supporta l'ultimo Android 16 API Level (Baklava), Jetpack Compose 1.8 stabile e Kotlin 2.1. Secondo Google I/O 2025, il 94% degli sviluppatori Android utilizza Android Studio come IDE principale per progetti commerciali.
Caratteristiche principali: AGP (Android Gradle Plugin) per configurazione di compilazione flessibile, obfuscator R8 per ridurre le dimensioni dell'APK, Play Feature Delivery per applicazioni modulari, integrazione con Firebase Test Lab. Android Studio è disponibile per Windows, macOS, Linux e ChromeOS.
Un progetto Android in Android Studio è organizzato secondo il principio multi-modulo. Ogni modulo (app, feature, core) contiene set di origine: `main` (codice di produzione), `test` (test unitari) e `androidTest` (test dell'interfaccia utente). Le risorse sono suddivise per qualificatori: layout, values, drawable, mipmap.
| Directory | Contenuto |
|---|---|
| app/src/main/java/ | Codice sorgente dell'applicazione in Kotlin/Java, Activity, Fragment, ViewModel |
| app/src/main/res/layout/ | File XML dell'interfaccia (activity_main.xml, fragment_settings.xml) |
| app/src/main/res/values/ | Risorse: strings.xml, colors.xml, themes.xml, dimens.xml |
| app/src/main/AndroidManifest.xml | Dichiarazione dei componenti: Activity, Service, BroadcastReceiver, permessi |
| gradle/ | Gradle Wrapper, catalogo versioni (.toml), plugin di convenzione |
Version Catalog (libs.versions.toml) fornisce una gestione centralizzata delle dipendenze. Invece di specificare manualmente le versioni in ogni build.gradle.kts, si utilizzano libs.androidx.compose.ui, libs.ktor.client e altri riferimenti dichiarativi. Google raccomanda i cataloghi di versioni per tutti i nuovi progetti come standard di gestione delle librerie.
Layout Editor è un editor visivo per interfacce XML (ConstraintLayout, LinearLayout) con modalità Split: una tela con anteprima a sinistra e codice XML a destra. La Palette contiene componenti View: Button, TextView, RecyclerView, EditText. Il pannello Attributes mostra le proprietà del componente selezionato con editor per padding, margins e constraints.
Jetpack Compose Preview è un'alternativa al Layout Editor per UI dichiarative. In Android Studio Ladybug, Preview funziona per funzioni @Composable con diversi parametri: modalità scura/chiara, schermi di diverse dimensioni, localizzazione. L'annotazione @Preview(showBackground = true, uiMode = UI_MODE_NIGHT_YES) crea più pannelli di anteprima in una finestra.
ConstraintLayout è il layout di base per interfacce complesse. Nel Layout Editor è possibile creare vincoli tra le viste trascinando, impostare catene (chains) per distribuzione uniforme e barriere (barriers) per altezze dinamiche. MotionLayout (un'estensione di ConstraintLayout) supporta l'animazione delle transizioni nell'editor.
Gradle è il sistema di compilazione automatizzata per progetti Android, gestito tramite Android Gradle Plugin (AGP). AGP definisce le attività: assembleDebug, assembleRelease, bundleDebug (AAB), lint, test. Gli script di compilazione Gradle sono scritti in Kotlin DSL (build.gradle.kts) o Groovy; Kotlin DSL è lo standard per i nuovi progetti.
// build.gradle.kts (app module)
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
}
android {
namespace = "com.example.app"
compileSdk = 36
defaultConfig {
applicationId = "com.example.app"
minSdk = 26
targetSdk = 36
versionCode = 1
versionName = "1.0.0"
}
buildTypes {
release {
isMinifyEnabled = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
}Progetti multi-modulo in Android Studio dividono il codice in moduli di funzionalità (app, :feature:home, :feature:profile) e moduli core (:core:network, :core:designsystem). Ogni modulo ha il proprio build.gradle.kts. AGP compila tutti i moduli in un singolo APK/AAB. I plugin di convenzione estraggono le impostazioni comuni (opzioni Kotlin, Compose) in un sottoprogetto build-logic, riducendo la duplicazione.
Android Emulator è un dispositivo virtuale per eseguire e testare applicazioni Android su un computer. Ogni dispositivo virtuale è descritto da una configurazione AVD (Android Virtual Device): modello (Pixel 9, Galaxy S25), API Level (Android 14, 15, 16), quantità di RAM e dimensione del disco.
Caratteristiche dell'emulatore: istantanee (snapshot per ripristino rapido dello stato), simulazione di coordinate GPS, fotocamera (con caricamento di immagini), chiamate telefoniche e SMS, sensori (accelerometro, giroscopio), multitocco (tramite Extended Controls). Google raccomanda l'emulatore per l'80% dei test e un dispositivo fisico per le funzionalità dipendenti dall'hardware (fotocamera, Bluetooth, impronta digitale).
Android Emulator su Apple Silicon (M1/M2/M3) funziona nativamente tramite Hypervisor.framework senza Rosetta. Le prestazioni dell'emulatore su Apple Silicon sono paragonabili a quelle di un dispositivo fisico. Per accelerare l'emulazione, vengono utilizzati Android Emulator Plugin + Vulkan per la grafica accelerata dalla GPU.
Android Profiler è uno strumento integrato di monitoraggio delle prestazioni in Android Studio. Il Profiler mostra in tempo reale: CPU (carico dei core, thread, durata GC), Memoria (heap Java/Kotlin, Native, Stack, Graphics), Rete (traffico in entrata/uscita, richieste HTTP) ed Energia (consumo della batteria per componente).
Debug in Android Studio: Debugger con punti di interruzione (punti di interruzione condizionali, logpoint), Evaluate Expression, Frame Drop Inspector per analizzare i fotogrammi persi, Layout Inspector per la gerarchia delle viste su un'applicazione in esecuzione. Background Task Inspector mostra le attività di WorkManager, AlarmManager e JobScheduler.
Firebase Test Lab è un test cloud su dispositivi reali in Google Cloud, integrato in Android Studio. I test vengono eseguiti su una matrice di dispositivi (10+ modelli) con diverse versioni di Android e localizzazioni. I risultati includono video di esecuzione dei test, screenshot e log.
Domande frequenti
Android Studio richiede 8 GB di RAM (16 GB consigliati), 8 GB di spazio libero su SSD, un processore con supporto Intel VT-x / AMD-V / Apple Silicon e una risoluzione dello schermo di 1280x800. L'emulatore necessita del supporto Hypervisor (Windows: Hyper-V, Mac: Hypervisor.framework, Linux: KVM).
Android Studio è una versione specializzata di IntelliJ con strumenti Android: Layout Editor, Android Emulator, Profiler, APK Analyzer, Android Lint, integrazione Gradle per Android. IntelliJ IDEA Ultimate supporta Android tramite un plugin ma non include emulatore e profiler. Android Studio è gratuito per tutte le piattaforme.
L'approccio consigliato è il Version Catalog (libs.versions.toml) nella cartella gradle/. Un'alternativa è la piattaforma (BOM) delle librerie: androidx.compose:compose-bom. Per Gradle 8.5+ si utilizza Central Declaration of Dependencies con @Suppress per conflitti transitivi. Evitare importazioni dirette in build.gradle — utilizzare alias.
Build Variants sono combinazioni di tipo di compilazione (debug, release) e sapore di prodotto (free, paid, demo). Ogni variante ha i propri set di origine (src/freeDebug/, src/paidRelease/), risorse e configurazioni. Android Studio passa automaticamente il completamento del codice e l'anteprima in base alla variante selezionata nel pannello Build Variants.
Metodi principali di ottimizzazione: abilitare Gradle Daemon, Parallel Project Execution, Configuration Cache, Build Cache. Ridurre il numero di moduli e dipendenze. Utilizzare Baseline Profile per dexopt. Per progetti grandi — Remote Build Cache (Gradle Enterprise). Android Studio offre anche Build Analyzer per la diagnostica.
Riepilogo
Svilupperemo un'applicazione mobile chiavi in mano
IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.
Leggi anche