Compose Compiler

Transforme funções @Composable e ative otimizações com um plug-in do compilador Kotlin.
Atualização mais recente Versão estável Candidata a lançamento Versão Beta Versão Alfa
22 de fevereiro de 2023 1.4.3 - - -

Estrutura

O Compose é uma combinação de sete IDs de grupos do Maven no androidx. Os grupos contêm um subconjunto direcionado de funcionalidades, cada um com um conjunto próprio de notas da versão.

Esta tabela explica os grupos e contém links para cada conjunto de notas da versão.

GrupoDescrição
compose.animationCrie animações nos aplicativos Jetpack Compose para enriquecer a experiência do usuário.
compose.compilerTransforme funções @Composable e ative otimizações com um plug-in do compilador Kotlin.
compose.foundationCrie aplicativos do Jetpack Compose com elementos básicos prontos que podem ser usados para criar suas próprias peças de sistema de design.
compose.materialCrie IUs do Jetpack Compose com componentes do Material Design prontos para uso. Este é o ponto de entrada de nível mais alto do Compose, projetado para fornecer componentes que correspondam aos descritos em www.material.io.
compose.material3Crie IUs do Jetpack Compose usando componentes do Material Design 3, a nova versão do Material Design. O Material 3 inclui temas e componentes atualizados, além de recursos de personalização do Material You, como cores dinâmicas, e foi desenvolvido para ser coeso com o novo estilo visual do Android 12 e com a IU do sistema.
compose.runtimeElementos fundamentais do modelo de programação e do gerenciamento de estado do Compose e do ambiente de execução principal do plug-in Compose Compiler.
compose.uiComponentes fundamentais do Compose UI necessários para interagir com o dispositivo, incluindo layout, desenho e entrada.

Declarar dependências

Para adicionar uma dependência ao Compose, adicione o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para mais informações.

Adicione as dependências dos artefatos necessários ao arquivo build.gradle do seu app ou módulo:

Groovy

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.5"
    }

    kotlinOptions {
        jvmTarget = "19"
    }
}

Kotlin

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.5"
    }

    kotlinOptions {
        jvmTarget = "19"
    }
}

Para mais informações sobre dependências, consulte Adicionar dependências de build.

Feedback

Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.

Criar novo problema

Consulte a documentação do Issue Tracker para saber mais.

Versão 1.4.3

Versão 1.4.3

22 de fevereiro de 2023

Lançamento de androidx.compose.compiler:compiler:1.4.3. A versão 1.4.3 contém estas confirmações.

Correções de bugs

  • Correção de chamadas condicionais combináveis em argumentos de chamadas combináveis (Ie93edb).

Versão 1.4.2

Versão 1.4.2

8 de fevereiro de 2023

Lançamento de androidx.compose.compiler:compiler:1.4.2. A versão 1.4.2 contém estas confirmações.

Novos recursos

  • Foi adicionado suporte ao Kotlin 1.8.10.

Correções de bugs

  • Foram adicionados grupos ao corpo das lambdas que não podem ser puladas para evitar o bug de recomposição.

Versão 1.4.1

Versão 1.4.1

8 de fevereiro de 2023

Lançamento de androidx.compose.compiler:compiler:1.4.1. A versão 1.4.1 contém estas confirmações.

Correções de bugs

  • Foi desativada a otimização de lembrete intrínseco, que antes causava alguns bugs na geração de código.
  • Foi desativado o lembrete intrínseco em funções que contêm um parâmetro vararg.
  • Foi corrigido o ato incorreto de pular em elementos combináveis com parâmetros padrão.
  • Foi adicionada uma mensagem de erro defensiva substituta em caso de falha na verificação de compatibilidade com o Kotlin.
  • A geração de código para pular foi removida da lambda inline.

Versão 1.4.0

17 de janeiro de 2023

Lançamento de androidx.compose.compiler:compiler:1.4.0. A versão 1.4.0 contém estas confirmações.

Mudanças importantes desde a versão 1.3.0

  • Adição de suporte ao Kotlin 1.8.0.
  • O recurso de lembrete intrínseco foi desativado.
  • A classe de dados Group das ferramentas de IU agora tem um campo isInline, que indica se o grupo é destinado a uma chamada para uma função combinável inline. Se o isInline for true, a chamada vai ser para uma função combinável inline. No entanto, o valor pode ser falso em chamadas para funções combináveis inline que são de módulos compilados com uma versão do plug-in do compilador do Compose que não gera informações sobre a função inline.
  • A ImmutableCollection e os irmãos permanentes dela agora são considerados estáveis.
  • Novo parâmetro em AnimatedContent para o identificador de ferramentas.
  • Correção da geração de código com defeito para lambda inline.

Versão 1.4.0-alpha02

11 de novembro de 2022

Lançamento de androidx.compose.compiler:compiler:1.4.0-alpha02. A versão 1.4.0-alpha02 contém estas confirmações.

Novos recursos

  • Adicionado suporte para Kotlin 1.7.21.

Versão 1.4.0-alpha01

9 de novembro de 2022

Lançamento de androidx.compose.compiler:compiler:1.4.0-alpha01. A versão 1.4.0-alpha01 contém estas confirmações.

Correções de bugs

  • Foi corrigida a capacidade de retornar com antecedência de funções de composição in-line (b/255350755).
  • Foi corrigido o bug na diminuição da isca, que corrompia o suporte ao Kotlin/JS no Compose (6a40f8).

Versão 1.3

Versão 1.3.2

4 de outubro de 2022

Lançamento de androidx.compose.compiler:compiler:1.3.2. A versão 1.3.2 contém estas confirmações.

Novo recurso

  • Esta versão inclui uma atualização para o Kotlin 1.7.20.

Versão 1.3.1

7 de setembro de 2022

Lançamento de androidx.compose.compiler:compiler:1.3.1. A versão 1.3.1 contém estas confirmações.

Correções de bugs

  • Foi corrigido o bug IllegalStateException, em que o compilador do Compose estava marcando erroneamente os tipos de unidade como elementos combináveis em algumas circunstâncias (b/237863365).
  • Agora, os usuários precisam especificar a versão do Kotlin que preferirem ao suprimir a verificação da versão do compilador (I9e5e2).

Versão 1.3.0

10 de agosto de 2022

Lançamento de androidx.compose.compiler:compiler:1.3.0. A versão 1.3.0 contém estas confirmações.

Versão 1.3.0-rc02

3 de agosto de 2022

Lançamento de androidx.compose.compiler:compiler:1.3.0-rc02. A versão 1.3.0-rc02 contém estas confirmações.

Versão 1.3.0-rc01

27 de julho de 2022

Lançamento de androidx.compose.compiler:compiler:1.3.0-rc01. A versão 1.3.0-rc01 contém estas confirmações.

Versão 1.3.0-beta01

20 de julho de 2022

androidx.compose.compiler:compiler:1.3.0-beta01 é lançado. A versão 1.3.0-beta01 contém estas confirmações.

Novos recursos

  • Adicionado suporte para Kotlin 1.7.10.

Versão 1.2

Versão 1.2.0

29 de junho de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0. A versão 1.2.0 contém estas confirmações.

Mudanças importantes desde a 1.1.0

Versão 1.2.0-rc02

22 de junho de 2022

androidx.compose.compiler:compiler:1.2.0-rc02 é lançado. A versão 1.2.0-rc02 contém estas confirmações.

Correções de bugs

  • A geração de código de elementos de composição do evento de rastreamento foi removida (aosp/2127922).

Versão 1.2.0-rc01

15 de junho de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0-rc01. A versão 1.2.0-rc01 contém estas confirmações.

Versão 1.2.0-beta03

1º de junho de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0-beta03. A versão 1.2.0-beta03 contém estas confirmações.

Versão 1.2.0-beta02

18 de maio de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0-beta02. A versão 1.2.0-beta02 contém estas confirmações.

Versão 1.2.0-beta01

11 de maio de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0-beta01. A versão 1.2.0-beta01 contém estas confirmações.

  • Esta é a primeira versão Beta da 1.2. Não há mudanças desde a última versão Alfa.

Novos recursos

  • Adicionado suporte para Kotlin 1.6.21.

Versão 1.2.0-alpha08

20 de abril de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0-alpha08. A versão 1.2.0-alpha08 contém estas confirmações.

Versão 1.2.0-alpha07

6 de abril de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0-alpha07. A versão 1.2.0-alpha07 contém estas confirmações.

Versão 1.2.0-alpha06

23 de março de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0-alpha06. A versão 1.2.0-alpha06 contém estas confirmações.

Versão 1.2.0-alpha05

9 de março de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0-alpha05. A versão 1.2.0-alpha05 contém estas confirmações.

Versão 1.2.0-alpha04

23 de fevereiro de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0-alpha04. A versão 1.2.0-alpha04 contém estas confirmações.

Versão 1.2.0-alpha03

9 de fevereiro de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0-alpha03. A versão 1.2.0-alpha03 contém estas confirmações.

Versão 1.2.0-alpha02

26 de janeiro de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0-alpha02. A versão 1.2.0-alpha02 contém estas confirmações.

Versão 1.2.0-alpha01

12 de janeiro de 2022

Lançamento de androidx.compose.compiler:compiler:1.2.0-alpha01. A versão 1.2.0-alpha01 contém estas confirmações.

Novos recursos

  • Suporte para Kotlin 1.6.10 adicionado.

Versão 1.1

Versão 1.1.1

23 de fevereiro de 2022

Lançamento de androidx.compose.compiler:compiler:1.1.1. A versão 1.1.1 contém estas confirmações.

Correções de bugs

  • A NullPointerException em androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList foi corrigida (aosp/1947059, b/206677462).
  • A falha causada pelo conteúdo da área de transferência durante a leitura no Android foi corrigida (I06020, b/197769306).
  • RTL corrigido no elemento LazyVerticalGrid (aosp/1931080, b/207510535).

Versão 1.1.0

9 de fevereiro de 2022

Lançamento de androidx.compose.compiler:compiler:1.1.0. A versão 1.1.0 contém estas confirmações.

Mudanças importantes desde a versão 1.0.0

  • Suporte estável para o efeito de rolagem do Android 12.
  • Melhorias no dimensionamento da área de toque.
  • Em relação ao Compose 1.0, os componentes do Material Design aumentam o espaço de layout para atender ao tamanho da área de toque das diretrizes de acessibilidade (em inglês) do Material Design. Por exemplo, a área de toque do botão será expandida para um tamanho mínimo de 48x48dp, mesmo que você defina um tamanho menor. Isso alinha o Compose Material ao mesmo comportamento dos componentes do Material Design para que haja consistência caso você combine visualizações e o Compose. Essa mudança também garante que, ao criar a IU usando os componentes do Compose Material, os requisitos mínimos para a acessibilidade da área de toque sejam atendidos.
  • Suporte estável à coluna de navegação.
  • Upgrade de várias APIs anteriormente experimentais para a versão estável.
  • Suporte para as versões mais recentes do Kotlin.

Versão 1.1.0-rc03

26 de janeiro de 2022

Lançamento de androidx.compose.compiler:compiler:1.1.0-rc03. A versão 1.1.0-rc03 contém estas confirmações.

Correções de bugs

  • Atualização para oferecer suporte ao Compose Material 1.1.0-rc03.

Versão 1.1.0-rc02

16 de dezembro de 2021

androidx.compose.compiler:compiler:1.1.0-rc02 é lançado. A versão 1.1.0-rc02 contém estas confirmações.

Atualizações de dependência

  • O Compose Compiler 1.1.0-rc02 é compatível com o Kotlin 1.6.10.

Versão 1.1.0-rc01

15 de dezembro de 2021

Lançamento de androidx.compose.compiler:compiler:1.1.0-rc01. A versão 1.1.0-rc01 contém estas confirmações.

Mudanças na dependência

  • O Compose Compiler 1.1.0-rc01 é compatível com o Kotlin 1.6.0.
  • Um build 1.6.10 compatível está disponível pelos SNAPSHOTs do androidx.dev com buildId 8003490. O snippet de dependência a seguir fará a configuração do SNAPSHOT para o Compose Compiler:

    Adicione o seguinte snippet ao arquivo raiz build.gradle do seu projeto:

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

    Adicione o seguinte snippet ao arquivo build.gradle para seu app ou módulo que usa o Compose:

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

Versão 1.1.0-beta04

1º de dezembro de 2021

Lançamento de androidx.compose.compiler:compiler:1.1.0-beta04. A versão 1.1.0-beta04 contém estas confirmações.

Novos recursos

  • Foi adicionada compatibilidade com o Kotlin 1.6.0.

Versão 1.1.0-beta03

17 de novembro de 2021

Lançamento de androidx.compose.compiler:compiler:1.1.0-beta03. A versão 1.1.0-beta03 contém estas confirmações.

Versão 1.1.0-beta02

3 de novembro de 2021

Lançamento de androidx.compose.compiler:compiler:1.1.0-beta02. A versão 1.1.0-beta02 contém estas confirmações.

Versão 1.1.0-beta01

27 de outubro de 2021

Lançamento de androidx.compose.compiler:compiler:1.1.0-beta01. A versão 1.1.0-beta01 contém estas confirmações.

Versão 1.1.0-alpha06

13 de outubro de 2021

androidx.compose.compiler:compiler:1.1.0-alpha06 é lançado. A versão 1.1.0-alpha06 contém estas confirmações.

Versão 1.1.0-alpha05

29 de setembro de 2021

Lançamento de androidx.compose.compiler:compiler:1.1.0-alpha05. A versão 1.1.0-alpha05 contém estas confirmações.

Versão 1.1.0-alpha04

15 de setembro de 2021

Lançamento de androidx.compose.compiler:compiler:1.1.0-alpha04. A versão 1.1.0-alpha04 contém estas confirmações.

Versão 1.1.0-alpha03

1º de setembro de 2021

Lançamento de androidx.compose.compiler:compiler:1.1.0-alpha03. A versão 1.1.0-alpha03 contém estas confirmações.

Novos recursos

  • O Compose Compiler agora oferece suporte a versões mais antigas do Compose Runtime (1.0). Antes dessa mudança, o Compose Compiler era compatível apenas com versões iguais ou mais recentes do Compose Runtime. Agora, o Compose Compiler é compatível com uma versão mais antiga do Compose Runtime (1.0) (aosp/1796968).
  • O Compose 1.1.0-alpha03 foi atualizado para depender do Kotlin 1.5.30 (I74545).

Versão 1.1.0-alpha02

18 de agosto de 2021

Lançamento de androidx.compose.compiler:compiler:1.1.0-alpha02. A versão 1.1.0-alpha02 contém estas confirmações.

Versão 1.1.0-alpha01

4 de agosto de 2021

Lançamento de androidx.compose.compiler:compiler:1.1.0-alpha01. A versão 1.1.0-alpha01 contém estas confirmações.

Versão 1.0

Versão 1.0.5

3 de novembro de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.5. A versão 1.0.5 contém estas confirmações.

Correções de bugs

  • Uma falha de rastreamento de instâncias derivedStateOf foi corrigida (aosp/1792247).

Versão 1.0.4

13 de outubro de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.4. A versão 1.0.4 contém estas confirmações.

Atualizações de dependência

  • Atualização para depender do Kotlin 1.5.31.

Versão 1.0.3

29 de setembro de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.3. A versão 1.0.3 contém estas confirmações.

Atualizações de dependência

  • Atualização para depender do Kotlin 1.5.30.

Versão 1.0.2

1º de setembro de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.2. A versão 1.2.0 contém estas confirmações.

Atualização para oferecer suporte à versão 1.0.2 do Compose. O Compose 1.0.2 ainda é compatível com o Kotlin 1.5.21.

Versão 1.0.1

4 de agosto de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.1. A versão 1.0.1 contém estas confirmações.

Atualizações de dependência

  • Atualização para depender do Kotlin 1.5.21.

Versão 1.0.0

28 de julho de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0. A versão 1.0.0 contém estas confirmações.

Principais recursos da versão 1.0.0

Esta é a primeira versão estável do Compose. Veja mais detalhes no blog oficial de versões do Compose (em inglês).

Versão 1.0.0-rc02

14 de julho de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-rc02. A versão 1.0.0-rc02 contém estas confirmações:

Versão 1.0.0-rc01

1º de julho de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-rc01. A versão 1.1.0-rc01 contém estas confirmações.

Versão 1.0.0-beta09

16 de junho de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-beta09. A versão 1.0.0-beta09 contém estas confirmações.

Versão 1.0.0-beta08

2 de junho de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-beta08. A versão 1.0.0-beta08 contém estas confirmações.

Versão 1.0.0-beta07

18 de maio de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-beta07. A versão 1.0.0-beta07 contém estas confirmações.

Versão 1.0.0-beta06

5 de maio de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-beta06. A versão 1.0.0-beta06 contém estas confirmações.

Versão 1.0.0-beta05

21 de abril de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-beta05. A versão 1.0.0-beta05 contém estas confirmações.

Versão 1.0.0-beta04

7 de abril de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-beta04. A versão 1.0.0-beta04 contém estas confirmações (link em inglês).

Versão 1.0.0-beta03

24 de março de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-beta03. A versão 1.0.0-beta03 contém estas confirmações.

Versão 1.0.0-beta02

10 de Março de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-beta02. A versão 1.0.0-beta02 contém estas confirmações.

Versão 1.0.0-beta01

24 de fevereiro de 2021

Lançamento do androidx.compose.compiler:compiler:1.0.0-beta01. A versão 1.0.0-beta01 contém estas confirmações.

Esta é a primeira versão do Compose 1.0.0 Beta.

Versão 1.0.0-alpha12

10 de fevereiro de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-alpha12. A versão 1.0.0-alpha12 contém estas confirmações.

Versão 1.0.0-alpha11

28 de janeiro de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-alpha11. A versão 1.0.0-alpha11 contém estas confirmações.

Versão 1.0.0-alpha10

13 de janeiro de 2021

Lançamento de androidx.compose.compiler:compiler:1.0.0-alpha10. A versão 1.0.0-alpha10 contém estas confirmações.

Versão 1.0.0-alpha09

16 de dezembro de 2020

Lançamento de androidx.compose.compiler:compiler:1.0.0-alpha09. A versão 1.0.0-alpha09 contém estas confirmações.

Versão 1.0.0-alpha08

2 de dezembro de 2020

Lançamento de androidx.compose.compiler:compiler:1.0.0-alpha08. A versão 1.0.0-alpha08 contém estas confirmações.

Versão 1.0.0-alpha07

11 de novembro de 2020

Lançamento de androidx.compose.compiler:compiler:1.0.0-alpha07. A versão 1.0.0-alpha07 contém estas confirmações.

Novos recursos

  • Inferência e propagação de estabilidade. O plug-in do Compose Compiler analisa os tipos que ele compila para inferir se estão qualificados para determinadas otimizações do ambiente de execução. Esse resultado inferido é sintetizado como metadados na classe a ser utilizada pelo compilador em outros módulos. Além disso, o resultado do ambiente de execução dessas inferências é transmitido nos metadados encaminhados às chamadas durante a composição. Isso exigiu um protocolo de metadados diferente para funções de composição, o que significa que funções desse tipo compiladas com o compilador alpha07 não são compatíveis binárias com as funções de composição compiladas com qualquer versão anterior do compilador (aosp/1431988).

Versão 1.0.0-alpha06

28 de outubro de 2020

androidx.compose.compiler:compiler:1.0.0-alpha06 é lançado. A versão 1.0.0-alpha06 contém estas confirmações.

Versão 1.0.0-alpha05

14 de outubro de 2020

Lançamento de androidx.compose.compiler:compiler:1.0.0-alpha05. A versão 1.0.0-alpha05 contém estas confirmações.

Versão 1.0.0-alpha04

1º de outubro de 2020

Lançamento de androidx.compose.compiler:compiler:1.0.0-alpha04. A versão 1.0.0-alpha04 contém estas confirmações.

androidx.compose:compose-compiler foi refatorado para androidx.compose.compiler:compiler. Esta é a primeira versão do novo grupo.