Compilador de Compose

Transforma las funciones que admite @Composable y habilita las optimizaciones con un complemento de compilador de Kotlin.
Actualización más reciente Versión estable Versión potencial Versión beta Versión alfa
8 de febrero de 2023 1.4.2 - - -

Estructura

Compose es una combinación de 7 IDs de grupo de Maven en androidx. Cada grupo contiene un subconjunto de funcionalidades objetivo, cada uno con su propio conjunto de notas de la versión.

En esta tabla, se explican los grupos y vínculos correspondientes a cada conjunto de notas de la versión.

GrupoDescripción
compose.animationCompila animaciones en las aplicaciones de Jetpack Compose para enriquecer la experiencia del usuario.
compose.compilerTransforma las funciones que admite @Composable y habilita las optimizaciones con un complemento de compilador de Kotlin.
compose.foundationEscribe aplicaciones de Jetpack Compose con componentes fundamentales listos para usar y extiende la base para compilar tus propias piezas de sistema de diseño.
compose.materialCompila las IUs de Jetpack Compose con componentes de Material Design listos para usar. Este es el punto de entrada de nivel superior de Compose, diseñado para proporcionar componentes que coincidan con los descritos en www.material.io.
compose.material3Compila las IUs de Jetpack Compose con componentes de Material Design 3, la siguiente evolución de Material Design. Material 3 incluye temas y componentes actualizados, y funciones de personalización de Material You, como el color dinámico. Además, se diseñó para ser coherente con el nuevo estilo visual y la IU del sistema de Android 12.
compose.runtimeSe trata de los componentes fundamentales del modelo de programación de Compose y de su administración de estados, así como del entorno de ejecución principal al cual se orienta el complemento de compilación de Compose.
compose.uiSon los componentes fundamentales de la IU de Compose necesarios para interactuar con el dispositivo, incluidos el diseño, el dibujo y la entrada.

Cómo declarar dependencias

Para agregar una dependencia en Compose, debes agregar el repositorio de Maven de Google a tu proyecto. Consulta el repositorio de Maven de Google para obtener más información.

Agrega las dependencias de los artefactos que necesites en el archivo build.gradle de tu app o módulo:

Groovy

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.4.3"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.4.3"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.

Comentarios

Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.

Crear un error nuevo

Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.

Versión 1.4.2

Versión 1.4.2

8 de febrero de 2023

Lanzamiento de androidx.compose.compiler:compiler:1.4.2. La versión 1.4.2 contiene estas confirmaciones.

Nuevas funciones

  • Compatibilidad con Kotlin 1.8.10

Correcciones de errores

  • Se agregaron grupos en el cuerpo de lambdas que no se pueden omitir para evitar errores de recomposición.

Versión 1.4.1

Versión 1.4.1

8 de febrero de 2023

Lanzamiento de androidx.compose.compiler:compiler:1.4.1. La versión 1.4.1 contiene estas confirmaciones.

Correcciones de errores

  • Se inhabilitó la optimización del recuerdo intrínseco que anteriormente había presentado algunos errores de generación de código.
  • Se inhabilitó el recuerdo intrínseco en funciones que contienen un parámetro vararg.
  • Se corrigió la omisión errónea de elementos componibles con parámetros predeterminados.
  • Se agregó un mensaje de error defensivo de resguardo si falla la verificación de compatibilidad con Kotlin.
  • Se quitó la generación del código de omisión de la lambda intercalada.

Versión 1.4.0

17 de enero de 2023

Lanzamiento de androidx.compose.compiler:compiler:1.4.0. La versión 1.4.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.3.0

  • Compatibilidad con Kotlin 1.8.0
  • Se desactivó el recuerdo intrínseco
  • La clase de datos de herramientas de IU Group ahora tiene un campo, isInline, que indica si el grupo es para una llamada a una función de componibilidad intercalada. Si isInline es true, la llamada se realiza a una función de componibilidad intercalada. Sin embargo, el valor puede ser falso para llamadas a función de componibilidad intercaladas que provienen de módulos que se compilan con una versión del complemento del compilador de Compose que no genera la información de la función intercalada
  • ImmutableCollection y sus elementos del mismo nivel persistentes ahora se consideran estables
  • Se agregó un parámetro nuevo en AnimatedContent para la etiqueta de herramientas
  • Se corrigió la generación de código defectuosa para lambda intercalada

Versión 1.4.0-alpha02

11 de noviembre de 2022

Lanzamiento de androidx.compose.compiler:compiler:1.4.0-alpha02. La versión 1.4.0-alpha02 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó compatibilidad con Kotlin 1.7.21.

Versión 1.4.0-alpha01

9 de noviembre de 2022

Se lanzó androidx.compose.compiler:compiler:1.4.0-alpha01. La versión 1.4.0-alpha01 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió la capacidad de mostrar de manera anticipada funciones de componibilidad intercaladas (b/255350755).
  • Se corrigió el error en la reducción de señuelo que dañaba la compatibilidad con Kotlin/JS en Compose (6a40f8).

Versión 1.3

Versión 1.3.2

4 de octubre de 2022

Lanzamiento de androidx.compose.compiler:compiler:1.3.2. La versión 1.3.2 contiene estas confirmaciones.

Nueva función

  • Esta versión incluye una actualización a Kotlin 1.7.20.

Versión 1.3.1

7 de septiembre de 2022

Lanzamiento de androidx.compose.compiler:compiler:1.3.1. La versión 1.3.1 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió IllegalStateException por el que el compilador de Compose marcaba por error tipos de unidades como elementos componibles en algunas circunstancias. (b/237863365).
  • Ahora, los usuarios deben especificar su versión preferida de Kotlin cuando supriman la comprobación de la versión del compilador (I9e5e2).

Versión 1.3.0

10 de agosto de 2022

Lanzamiento de androidx.compose.compiler:compiler:1.3.0. La versión 1.3.0 contiene estas confirmaciones.

Versión 1.3.0-rc02

3 de agosto de 2022

Lanzamiento de androidx.compose.compiler:compiler:1.3.0-rc02. La versión 1.3.0-rc02 contiene estas confirmaciones.

Versión 1.3.0-rc01

27 de julio de 2022

Lanzamiento de androidx.compose.compiler:compiler:1.3.0-rc01. La versión 1.3.0-rc01 contiene estas confirmaciones.

Versión 1.3.0-beta01

20 de julio de 2022

Lanzamiento de androidx.compose.compiler:compiler:1.3.0-beta01. La versión 1.3.0-beta01 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó compatibilidad con Kotlin 1.7.10.

Versión 1.2

Versión 1.2.0

29 de junio de 2022

Se lanzó androidx.compose.compiler:compiler:1.2.0. La versión 1.2.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.1.0

Versión 1.2.0-rc02

22 de junio de 2022

Se lanzó androidx.compose.compiler:compiler:1.2.0-rc02. La versión 1.2.0-rc02 contiene estas confirmaciones.

Correcciones de errores

  • Se quitó la generación de código de evento de Trace componible (aosp/2127922).

Versión 1.2.0-rc01

15 de junio de 2022

Se lanzó androidx.compose.compiler:compiler:1.2.0-rc01. La versión 1.2.0-rc01 contiene estas confirmaciones.

Versión 1.2.0-beta03

1 de junio de 2022

Se lanzó androidx.compose.compiler:compiler:1.2.0-beta03. La versión 1.2.0-beta03 contiene estas confirmaciones.

Versión 1.2.0-beta02

18 de mayo de 2022

Lanzamiento de androidx.compose.compiler:compiler:1.2.0-beta02. La versión 1.2.0-beta02 contiene estas confirmaciones.

Versión 1.2.0-beta01

11 de mayo de 2022

Lanzamiento de androidx.compose.compiler:compiler:1.2.0-beta01. La versión 1.2.0-beta01 contiene estas confirmaciones.

  • Esta es la primera versión beta de 1.2. No hubo modificaciones desde la última versión alfa.

Nuevas funciones

  • Se agregó compatibilidad con Kotlin 1.6.21.

Versión 1.2.0-alpha08

20 de abril de 2022

Se lanzó androidx.compose.compiler:compiler:1.2.0-alpha08. La versión 1.2.0-alpha08 contiene estas confirmaciones.

Versión 1.2.0-alpha07

6 de abril de 2022

Lanzamiento de androidx.compose.compiler:compiler:1.2.0-alpha07. La versión 1.2.0-alpha07 contiene estas confirmaciones.

Versión 1.2.0-alpha06

23 de marzo de 2022

Lanzamiento de androidx.compose.compiler:compiler:1.2.0-alpha06. La versión 1.2.0-alpha06 contiene estas confirmaciones.

Versión 1.2.0-alpha05

9 de marzo de 2022

Lanzamiento de androidx.compose.compiler:compiler:1.2.0-alpha05. La versión 1.2.0-alpha05 contiene estas confirmaciones.

Versión 1.2.0-alpha04

23 de febrero de 2022

Lanzamiento de androidx.compose.compiler:compiler:1.2.0-alpha04. La versión 1.2.0-alpha04 contiene estas confirmaciones.

Versión 1.2.0-alpha03

9 de febrero de 2022

Lanzamiento de androidx.compose.compiler:compiler:1.2.0-alpha03. La versión 1.2.0-alpha03 contiene estas confirmaciones.

Versión 1.2.0-alpha02

26 de enero de 2022

Lanzamiento de androidx.compose.compiler:compiler:1.2.0-alpha02. La versión 1.2.0-alpha02 contiene estas confirmaciones.

Versión 1.2.0-alpha01

12 de enero de 2022

Lanzamiento de androidx.compose.compiler:compiler:1.2.0-alpha01. La versión 1.2.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó compatibilidad con Kotlin 1.6.10.

Versión 1.1

Versión 1.1.1

23 de febrero de 2022

Lanzamiento de androidx.compose.compiler:compiler:1.1.1. La versión 1.1.1 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió NullPointerException en androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList (aosp/1947059, b/206677462).
  • Se corrigió la falla que causaba el contenido del portapapeles mientras se leía desde el portapapeles en Android (I06020, b/197769306).
  • Se corrigió la lectura de derecha a izquierda en LazyVerticalGrid (aosp/1931080, b/207510535).

Versión 1.1.0

9 de febrero de 2022

Lanzamiento de androidx.compose.compiler:compiler:1.1.0. La versión 1.1.0 contiene estas confirmaciones.

Cambios importantes desde 1.0.0

  • Se agregó compatibilidad estable con el efecto de desplazamiento de Android 12.
  • Se agregaron mejoras en el tamaño de los objetivos táctiles.
  • Ten en cuenta que, con respecto a Compose 1.0, los componentes de Material expandirán su espacio de diseño para cumplir con los lineamientos de accesibilidad de Material relativos al tamaño del objetivo táctil. Por ejemplo, el objetivo táctil del botón se expandirá hasta un tamaño mínimo de 48x48dp, incluso si configuras el tamaño del botón para que sea más pequeño. Esto alinea Compose Material con el mismo comportamiento de los componentes de Material Design y proporciona un comportamiento coherente si combinas View y Compose. Este cambio también garantiza que, cuando crees tu IU mediante componentes de Compose Material, se cumplan los requisitos mínimos de la accesibilidad de objetivos táctiles.
  • Se agregó compatibilidad estable con Navigation Rail.
  • Varias API que antes eran experimentales se pasaron a niveles estables.
  • Se agregó compatibilidad con versiones más recientes de Kotlin.

Versión 1.1.0-rc03

26 de enero de 2022

Lanzamiento de androidx.compose.compiler:compiler:1.1.0-rc03. La versión 1.1.0-rc03 contiene estas confirmaciones.

Correcciones de errores

  • Se actualizó para admitir Compose Material 1.1.0-rc03.

Versión 1.1.0-rc02

16 de diciembre de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.1.0-rc02. La versión 1.1.0-rc02 contiene estas confirmaciones.

Actualizaciones de dependencias

  • El compilador 1.1.0-rc02 de Compose es compatible con 1.6.10 de Kotlin.

Versión 1.1.0-rc01

15 de diciembre de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.1.0-rc01. La versión 1.1.0-rc01 contiene estas confirmaciones.

Cambios de dependencia

  • El compilador 1.1.0-rc01 de Compose es compatible con 1.6.0 de Kotlin.
  • Hay una compilación disponible de 1.6.10 que es compatible a través de SNAPSHOTs de androidx.dev con buildId 8003490. En el siguiente fragmento de dependencia, se configurará SNAPSHOTs para el compilador de Compose:

    Agrega el siguiente fragmento al archivo raíz build.gradle de tu proyecto:

    buildscript {
        repositories {
            google()
            jcenter()
            maven { url 'https://androidx.dev/snapshots/builds/8003490/artifacts/repository' }
        }
    }
    

    Agrega el siguiente fragmento al archivo build.gradle de tu app o módulo que usa Compose:

    android {
        composeOptions {
            kotlinCompilerExtensionVersion = "1.2.0-SNAPSHOT"
        }
    }
    

Versión 1.1.0-beta04

1 de diciembre de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.1.0-beta04. La versión 1.1.0-beta04 contiene estas confirmaciones.

Nuevas funciones

  • Se actualizó para que sea compatible con Kotlin 1.6.0.

Versión 1.1.0-beta03

17 de noviembre de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.1.0-beta03. La versión 1.1.0-beta03 contiene estas confirmaciones.

Versión 1.1.0-beta02

3 de noviembre de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.1.0-beta02. La versión 1.1.0-beta02 contiene estas confirmaciones.

Versión 1.1.0-beta01

27 de octubre de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.1.0-beta01. La versión 1.1.0-beta01 contiene estas confirmaciones.

Versión 1.1.0-alpha06

13 de octubre de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.1.0-alpha06. La versión 1.1.0-alpha06 contiene estas confirmaciones.

Versión 1.1.0-alpha05

29 de septiembre de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.1.0-alpha05. La versión 1.1.0-alpha05 contiene estas confirmaciones.

Versión 1.1.0-alpha04

15 de septiembre de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.1.0-alpha04. La versión 1.1.0-alpha04 contiene estas confirmaciones.

Versión 1.1.0-alpha03

1 de septiembre de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.1.0-alpha03. La versión 1.1.0-alpha03 contiene estas confirmaciones.

Nuevas funciones

  • El compilador de Compose ahora admite versiones anteriores del entorno de ejecución de Compose (1.0). Antes del cambio, el compilador de Compose solo era compatible con el entorno de ejecución de Compose de la misma versión o de una posterior. Después del cambio, el compilador de Compose es compatible con una versión anterior del entorno de ejecución de Compose (1.0). (aosp/1796968)
  • Se actualizó Compose 1.1.0-alpha03 para que dependa de Kotlin 1.5.30. (I74545)

Versión 1.1.0-alpha02

18 de agosto de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.1.0-alpha02. La versión 1.1.0-alpha02 contiene estas confirmaciones.

Versión 1.1.0-alpha01

4 de agosto de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.1.0-alpha01. La versión 1.1.0-alpha01 contiene estas confirmaciones.

Versión 1.0

Versión 1.0.5

3 de noviembre de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.0.5. La versión 1.0.5 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió una falla en el seguimiento de las instancias de derivedStateOf (aosp/1792247).

Versión 1.0.4

13 de octubre de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.0.4. La versión 1.0.4 contiene estas confirmaciones.

Actualizaciones de dependencias

  • Se actualizó para depender de Kotlin 1.5.31

Versión 1.0.3

29 de septiembre de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.0.3. La versión 1.0.3 contiene estas confirmaciones.

Actualizaciones de dependencias

  • Se actualizó para depender de Kotlin 1.5.30

Versión 1.0.2

1 de septiembre de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.0.2. La versión 1.0.2 contiene estas confirmaciones.

Se actualizó para que sea compatible con la versión 1.0.2 de Compose. Compose 1.0.2 continúa siendo compatible con Kotlin 1.5.21.

Versión 1.0.1

4 de agosto de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.0.1. La versión 1.0.1 contiene estas confirmaciones.

Actualizaciones de dependencias

  • Se actualizó para depender de Kotlin 1.5.21.

Versión 1.0.0

28 de julio de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.0.0. La versión 1.0.0 contiene estas confirmaciones.

Funciones principales de la versión 1.0.0

Esta es la primera versión estable de Compose. Consulta el blog oficial de lanzamientos de Compose para obtener más información.

Versión 1.0.0-rc02

14 de julio de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.0.0-rc02. La versión 1.0.0-rc02 contiene estas confirmaciones.

Versión 1.0.0-rc01

1 de julio de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.0.0-rc01. La versión 1.0.0-rc01 contiene estas confirmaciones.

Versión 1.0.0-beta09

16 de junio de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.0.0-beta09. La versión 1.0.0-beta09 contiene estas confirmaciones.

Versión 1.0.0-beta08

2 de junio de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.0.0-beta08. La versión 1.0.0-beta08 contiene estas confirmaciones.

Versión 1.0.0-beta07

18 de mayo de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.0.0-beta07. La versión 1.0.0-beta07 contiene estas confirmaciones.

Versión 1.0.0-beta06

5 de mayo de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.0.0-beta06. La versión 1.0.0-beta06 contiene estas confirmaciones.

Versión 1.0.0-beta05

21 de abril de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.0.0-beta05. La versión 1.0.0-beta05 contiene estas confirmaciones.

Versión 1.0.0-beta04

7 de abril de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.0.0-beta04. La versión 1.0.0-beta04 contiene estas confirmaciones.

Versión 1.0.0-beta03

24 de marzo de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.0.0-beta03. La versión 1.0.0-beta03 contiene estas confirmaciones.

Versión 1.0.0-beta02

10 de marzo de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.0.0-beta02. La versión 1.0.0-beta02 contiene estas confirmaciones.

Versión 1.0.0-beta01

24 de febrero de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.0.0-beta01. La versión 1.0.0-beta01 contiene estas confirmaciones.

Esta es la primera versión de Compose 1.0.0 Beta.

Versión 1.0.0-alpha12

10 de febrero de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.0.0-alpha12. La versión 1.0.0-alpha12 contiene estas confirmaciones.

Versión 1.0.0-alpha11

28 de enero de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.0.0-alpha11. La versión 1.0.0-alpha11 contiene estas confirmaciones.

Versión 1.0.0-alpha10

13 de enero de 2021

Lanzamiento de androidx.compose.compiler:compiler:1.0.0-alpha10. La versión 1.0.0-alpha10 contiene estas confirmaciones.

Versión 1.0.0-alpha09

16 de diciembre de 2020

Lanzamiento de androidx.compose.compiler:compiler:1.0.0-alpha09. La versión 1.0.0-alpha09 contiene estas confirmaciones.

Versión 1.0.0-alpha08

2 de diciembre de 2020

Lanzamiento de androidx.compose.compiler:compiler:1.0.0-alpha08. La versión 1.0.0-alpha08 contiene estas confirmaciones.

Versión 1.0.0-alpha07

11 de noviembre de 2020

Lanzamiento de androidx.compose.compiler:compiler:1.0.0-alpha07. La versión 1.0.0-alpha07 contiene estas confirmaciones.

Nuevas funciones

  • Inferencia de estabilidad y propagación. El complemento Compose Compiler analizará los tipos que compila para inferir si es apto o no para ciertas optimizaciones del tiempo de ejecución. Este resultado inferido se sintetizará como metadatos en la clase para que el compilador lo use en otros módulos. Además, el resultado del tiempo de ejecución de estas inferencias se pasa en metadatos que se pasan a llamadas que admiten composición durante la composición. Esto requiere un protocolo de metadatos diferente para las funciones que admiten composición, por lo que este tipo de funciones compiladas con el compilador alpha07 no serán compatibles a nivel binario con funciones de su mismo tipo compiladas con compiladores de versiones anteriores. (aosp/1431988)

Versión 1.0.0-alpha06

28 de octubre de 2020

Lanzamiento de androidx.compose.compiler:compiler:1.0.0-alpha06. La versión 1.0.0-alpha06 contiene estas confirmaciones.

Versión 1.0.0-alpha05

14 de octubre de 2020

Lanzamiento de androidx.compose.compiler:compiler:1.0.0-alpha05. La versión 1.0.0-alpha05 contiene estas confirmaciones.

Versión 1.0.0-alpha04

1 de octubre de 2020

Lanzamiento de androidx.compose.compiler:compiler:1.0.0-alpha04. La versión 1.0.0-alpha04 contiene estas confirmaciones.

Se refactorizó androidx.compose:compose-compiler a androidx.compose.compiler:compiler. Esta es la primera versión en el grupo nuevo.