La distinta base (BOM) di Compose ti consente di gestire tutte le versioni della libreria Compose specificando solo la versione della BOM. La distinta base stessa contiene link alle versioni stabili delle diverse librerie Compose, in modo che funzionino bene insieme. Quando utilizzi la distinta base nella tua app, non è necessario aggiungere alcuna versione alle dipendenze della libreria Compose. Quando aggiorni la versione della distinta base, tutte le librerie che utilizzi vengono aggiornate automaticamente alle nuove versioni.
Kotlin
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom:2026.09.00") implementation(composeBom) testImplementation(composeBom) androidTestImplementation(composeBom) // Specify Compose library dependencies without a version definition implementation("androidx.compose.foundation:foundation") // .. testImplementation("androidx.compose.ui:ui-test-junit4") // .. androidTestImplementation("androidx.compose.ui:ui-test") }
Alla moda
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform('androidx.compose:compose-bom:2026.09.00') implementation composeBom testImplementation composeBom androidTestImplementation composeBom // Specify Compose library dependencies without a version definition implementation 'androidx.compose.foundation:foundation' // .. testImplementation 'androidx.compose.ui:ui-test-junit4' // .. androidTestImplementation 'androidx.compose.ui:ui-test' }
Per scoprire quali versioni della libreria Compose sono mappate a una versione specifica della distinta base, consulta la mappatura della versione della distinta base alla versione della libreria.
Perché la libreria del compilatore Compose non è inclusa nella BOM?
L'estensione del compilatore Kotlin di Compose (androidx.compose.compiler) non è collegata alle versioni della libreria di Compose. È invece collegato alle versioni del plug-in del compilatore Kotlin e rilasciato con una cadenza separata rispetto al resto di Compose.
A partire da Kotlin 2.0, il compilatore Compose viene gestito insieme al compilatore Kotlin e utilizza la stessa versione del compilatore Kotlin. Per i dettagli di configurazione, consulta Plug-in Gradle del compilatore Compose.
Nelle versioni precedenti a Kotlin 2.0, consulta la mappa di compatibilità di Compose con Kotlin per identificare una versione del compilatore compatibile con la tua versione di Kotlin e consulta Compilatore Compose per indicazioni su come configurarlo.
Come faccio a utilizzare una versione della libreria diversa da quella indicata nella BOM?
Nella sezione delle dipendenze build.gradle, mantieni l'importazione della piattaforma BOM. Nell'importazione della dipendenza della libreria, specifica la versione di override. Ad esempio, ecco come dichiarare le dipendenze se vuoi utilizzare una versione più recente della libreria di animazioni, indipendentemente dalla versione designata nella distinta base:
Kotlin
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom:2026.09.00") implementation(composeBom) // Override the BOM version when needed implementation("androidx.compose.animation:animation:1.13.0-alpha03") // .. }
Alla moda
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform("androidx.compose:compose-bom:2026.09.00") implementation composeBom // Override the BOM version when needed implementation 'androidx.compose.animation:animation:1.13.0-alpha03' // .. }
La distinta base aggiunge automaticamente tutte le librerie Compose alla mia app?
No. Per aggiungere e utilizzare effettivamente le librerie Compose nella tua app, devi dichiarare ogni libreria come riga di dipendenza separata nel file Gradle del modulo (a livello di app) (di solito app/build.gradle).
L'utilizzo della distinta base aiuta a verificare che le versioni di tutte le librerie Compose nella tua app siano compatibili, ma la distinta base non aggiunge effettivamente queste librerie Compose alla tua app.
Perché la distinta base è il modo consigliato per gestire le versioni della libreria Compose?
In futuro, le librerie Compose verranno sottoposte a controllo delle versioni in modo indipendente, il che significa che i numeri di versione inizieranno a essere incrementati in base al proprio ritmo. Le ultime release stabili di ogni libreria vengono testate insieme. Tuttavia, trovare le versioni stabili più recenti di ogni libreria può essere difficile e la distinta base ti aiuta a utilizzare automaticamente queste versioni più recenti.
Sono obbligato a utilizzare la distinta base?
No. Puoi comunque scegliere di aggiungere manualmente ogni versione della dipendenza. Tuttavia, ti consigliamo di utilizzare la distinta base (BOM) perché semplifica l'utilizzo contemporaneo di tutte le versioni stabili più recenti.
La distinta base funziona con i cataloghi delle versioni?
Sì. Puoi includere la distinta base stessa nel catalogo delle versioni e omettere le altre versioni della libreria Compose:
[libraries]
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "androidxComposeBom" }
androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation" }
Non dimenticare di importare la distinta base nel file build.gradle del modulo:
Kotlin
dependencies { val composeBom = platform(libs.androidx.compose.bom) implementation(composeBom) androidTestImplementation(composeBom) // import Compose dependencies as usual }
Alla moda
dependencies { Dependency composeBom = platform(libs.androidx.compose.bom) implementation composeBom androidTestImplementation(composeBom) // import Compose dependencies as usual }
Cosa succede se voglio provare le versioni alpha o beta delle librerie Compose?
Sono disponibili tre BOM di Compose. Ogni distinta base è uno snapshot in un determinato momento delle ultime versioni disponibili delle librerie di Compose.
- Stabile: contiene le ultime versioni stabili di ogni libreria.
- Beta: contiene le versioni beta, candidato per la release (RC) o stabile più recenti di ogni libreria.
- Alpha: contiene le ultime versioni alpha, beta, RC o stabili di ogni libreria.
Le versioni alpha e beta della BOM vengono specificate aggiungendo -alpha e
-beta al nome dell'artefatto della BOM. La versione stabile non ha un suffisso.
Kotlin
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom-alpha:2026.09.00") // or platform("androidx.compose:compose-bom-beta:2026.09.00") implementation(composeBom) // .. }
Alla moda
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform('androidx.compose:compose-bom-alpha:2026.09.00') // or platform('androidx.compose:compose-bom-beta:2026.09.00') implementation composeBom // .. }
Come faccio a segnalare un problema o a inviare un feedback sulla distinta base?
Puoi segnalare i problemi nel nostro Issue Tracker.
Consigliati per te
- Nota: il testo del link viene visualizzato quando JavaScript è disattivato
- Material Design 3 in Compose
- ConstraintLayout in Compose
- Risorse in Compose