Annotation

  
Expor metadados que ajudam as ferramentas e outros desenvolvedores a entender o código do seu app.

Esta tabela lista todos os artefatos no grupo androidx.annotation.

Artefato Versão estável atual Próximo candidato a lançamento Versão Beta Versão Alfa
annotation 1.3.0 - - 1.4.0-alpha02
annotation-experimental 1.2.0 - - -
Esta biblioteca foi atualizada pela última vez em 9 de fevereiro de 2022

Declarar dependências

Para adicionar uma dependência a Annotation, é preciso adicionar o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para ver mais informações.

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

Groovy

dependencies {
    implementation "androidx.annotation:annotation:1.6.0"
    // To use the Java-compatible @Experimental API annotation
    implementation "androidx.annotation:annotation-experimental:1.4.0-dev01"
}

Kotlin

dependencies {
    implementation("androidx.annotation:annotation:1.6.0")
    // To use the Java-compatible @Experimental API annotation
    implementation("androidx.annotation:annotation-experimental:1.4.0-dev01")
}

Para ver 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.0

Versão 1.4.0-alpha02

9 de fevereiro de 2022

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

Novos recursos

  • Adição das anotações @ReturnThis, @OpenForTesting, @EmptySuper e @DeprecatedSinceApi (21946a2).

  • @ReturnThis (b/140249763): garante que os métodos de substituição desse método retornem a mesma instância (destinada a builders etc.).

  • @OpenForTesting (b/141539024): as classes e os métodos Kotlin marcados como "abertos" podem ter essa anotação, e o lint vai garantir que essa classe tenha apenas uma subclasse (e métodos que só sejam substituídos) de testes de unidade.

  • @DeprecatedSinceApi (b/37116481): indica que o método, a classe ou o campo anotado faz parte de uma biblioteca de backport para uma API de plataforma, que não é mais necessária do nível de API fornecido em diante.

  • @EmptySuper: indica que esse método está definido como vazio, então ele não precisa ser chamado na substituição e, na verdade, você não deve fazer isso. Por exemplo, ele pode conter a verificação de compatibilidade com versões anteriores.

Versão 1.4.0-alpha01

15 de dezembro de 2021

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

Mudanças na API

  • Anotação RestrictTo migrada para origens Kotlin (Ia6336).

Versão 1.3.0

Versão 1.3.0

3 de novembro de 2021

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

Mudanças importantes desde a versão 1.2.0

  • A anotação @Discouraged para marcar APIs que não podem ser descontinuadas, mas têm impacto negativo significativo no desempenho e não podem ser chamadas no código de produção normal foi adicionada.
  • A anotação @Context foi adicionada para marcar contextos genéricos que os desenvolvedores podem migrar a novas APIs com mais facilidade.
  • A anotação @GravityInt para marcar elementos que contêm valores de gravidade em números inteiros foi adicionada.
  • O uso de @InspectableProperty foi suspenso em favor de @Attribute para androidx.resourceinspection.

Versão 1.3.0-rc01

27 de outubro de 2021

androidx.annotation:annotation:1.3.0-rc01 é lançado. A versão 1.3.0-rc01 contém estas confirmações.

Versão 1.3.0-beta01

29 de setembro de 2021

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

Mudanças na API

  • Exige uma explicação em "mensagem" para a anotação @Discouraged (I3390f).
  • Adição da anotação @Discouraged para marcar elementos não recomendados (Ib2549).
  • A anotação RestrictTo fica visível no pop-up de documentos do Studio (Ie8e1a, b/183134648).

Correções de bugs

  • Adicione a anotação Context para marcar contextos genéricos. Assim, os desenvolvedores podem migrar para novas APIs com mais facilidade (Ie581a).

Versão 1.3.0-alpha01

24 de março de 2021

Lançamento de androidx.annotation:annotation:1.3.0-alpha01. A versão 1.3.0-alpha01 contém essas confirmações (link em inglês).

Mudanças na API

  • O uso de @InspectableProperty foi suspenso em favor do @Attribute em androidx.resourceinspection (Ic0eff).
  • Adição da anotação @GravityInt para marcar elementos que contêm valores de gravidade em números inteiros (Ifcaa4, b/180620048).

Annotation-Experimental versão 1.2.0

Versão 1.2.0

15 de dezembro de 2021

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

Mudanças importantes desde a 1.1.0

Esta biblioteca agora é destinada ao nível de linguagem Java 8.

Versão 1.2.0-rc01

1.º de dezembro de 2021

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

Nenhuma mudança desde a versão Beta.

Versão 1.2.0-beta01

17 de novembro de 2021

androidx.annotation:annotation-experimental:1.2.0-beta01 é lançado. A versão 1.2.0-beta01 contém estas confirmações.

Mudanças na API

As APIs foram finalizadas para a versão Beta.

Annotation-Experimental versão 1.2.0-alpha01

30 de junho de 2021

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

Novos recursos

  • A biblioteca agora é destinada ao nível de linguagem Java 8.

Versão 1.2.0

Versão 1.2.0

24 de março de 2021

Lançamento de androidx.annotation:annotation:1.2.0. A versão 1.2.0 contém essas confirmações (link em inglês).

Principais mudanças desde a versão 1.1.0

  • Adição da anotação @ChecksSdkIntAtLeast, que pode ser usada para identificar métodos ou campos usados para limitar o acesso no nível do SDK e atender à verificação de lint NewApi.
  • Adição da anotação @DoNotInline, que é pareada com uma regra do Proguard para evitar que os membros sejam colocados in-line durante a otimização.
  • Uma variedade de anotações agora são anotadas com @Documented para garantir que apareçam na documentação para membros anotados.

Versão 1.2.0-rc01

24 de fevereiro de 2021

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

Versão 1.2.0-beta01

13 de janeiro de 2021

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

Mudanças na API

  • Nova anotação @DoNotInline, que instrui os otimizadores de código (por exemplo, Proguard, R8) a não deixar in-line o método anotado (I3dfe8, b/141326133).

Versão 1.2.0-alpha01

14 de maio de 2020

androidx.annotation:annotation:1.2.0-alpha01 é lançado. A versão 1.2.0-alpha01 contém estas confirmações:

Novos recursos

  • Anotação @ChecksSdkIntAtLeast adicionada. Isso permite que o AndroidX e os usuários anotem métodos e campos que representam uma verificação SDK_INT. (I89a54, b/120255046)

Annotation-Experimental: versão 1.1.0

Versão 1.1.0

7 de abril de 2021

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

Principais mudanças desde a versão 1.0.0

  • As anotações experimentais do Jetpack foram reescritas em Kotlin para oferecer compatibilidade com várias classes de marcador e melhoria no tratamento da suspensão de uso.
  • As anotações RequiresOptIn e OptIn foram adicionadas para paridade com o Kotlin, e o uso das anotações Experimental e UsesExperimental foi suspenso.

Versão 1.1.0-rc02

24 de março de 2021

Lançamento de androidx.annotation:annotation-experimental:1.1.0-rc02. A versão 1.1.0-rc02 contém essas confirmações (link em inglês).

Correções de bugs

  • Inclusão de regras do Proguard para garantir que a otimização do código não avise sobre as meta anotações ausentes do Kotlin.

Versão 1.1.0-rc01

10 de Março de 2021

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

Nenhuma mudança desde a versão Beta anterior.

Versão 1.1.0-beta01

27 de janeiro de 2021

Lançamento do androidx.annotation:annotation-experimental:1.1.0-beta01. A versão 1.1.0-beta01 contém estas confirmações.

Mudanças na API

  • A variante androidx da anotação Experimental foi suspensa para fornecer paridade com o Kotlin. Ela foi substituída por uma variante androidx da anotação RequiresOptIn, e a inspeção para Java foi atualizada para oferecer compatibilidade com as novas anotações do Kotlin e da nova AndroidX (I52495, b/151331381).

Versão 1.1.0-alpha01

22 de julho de 2020

androidx.annotation:annotation-experimental:1.1.0-alpha01 é lançado. A versão 1.1.0-alpha01 contém estas confirmações.

Novos recursos

  • A biblioteca de anotações Experimental agora está escrita em Kotlin, mas não exige que a biblioteca Kotlin padrão seja incluída como uma dependência. Ela inclui um arquivo do Proguard que permite a remoção de metadados Kotlin desnecessários de projetos que usam apenas a linguagem de programação Java.
  • @UseExperimental agora é compatível com várias classes de marcador (aosp/1185577, b/145137892).

Annotation-Experimental Versão 1.0.0

Annotation-Experimental Versão 1.0.0

7 de novembro de 2019

Lançamento de androidx.annotation:annotation-experimental:1.0.0 e androidx.annotation:annotation-experimental-lint:1.0.0, sem alterações desde 1.0.0-rc01. A versão 1.0.0 contém essas confirmações (link em inglês).

Principais recursos da versão 1.0.0

  • Aplicação baseada em lint da semântica @Experimental do Kotlin no código-fonte Java
  • Anotações Java que fornecem comportamento equivalente às annotations @Experimental e @UseExperimental do Kotlin, sem a necessidade de uma dependência em Kotlin

Annotation-Experimental Versão 1.0.0-rc01

23 de outubro de 2019

Lançamento de androidx.annotation:annotation-experimental:1.0.0-rc01 e androidx.annotation:annotation-experimental-lint:1.0.0-rc01. A versão 1.0.0-rc01 contém essas confirmações (link em inglês).

Problemas conhecidos

Ao usar a versão estável do Studio 3.5, os avisos do detector lint de uso @Experimental não são exibidos no ambiente de desenvolvimento integrado para usos inválidos do Java de anotação Kotlin @Experimental. Consulte b/140640322 (link em inglês).

Annotation-Experimental Versão 1.0.0-beta01

9 de outubro de 2019

Lançamento de androidx.annotation:annotation-experimental:1.0.0-beta01 e androidx.annotation:annotation-experimental-lint:1.0.0-beta01, sem alterações desde 1.0.0-alpha01. A versão 1.0.0-beta01 contém essas confirmações (link em inglês).

Annotation-Experimental Versão 1.0.0-alpha01

18 de setembro de 2019

Lançamento de androidx.annotation:annotation-experimental:1.0.0-alpha01 e androidx.annotation:annotation-experimental-lint:1.0.0-alpha01. Essas são as confirmações incluídas no annotation-experimental 1.0.0-alpha01, e essas são as confirmações incluídas no annotation-experimental-lint 1.0.0-alpha01.

Novos recursos

  • A biblioteca de anotações Jetpack Experimental fornece uma implementação compatível com Java de marcadores de API experimentais (link em inglês) de Kotlin. O artefato -lint fornece uma implementação baseada em Lint de restrições de uso experimentais e impõe restrições no uso de Java dos marcadores de API nativos experimentais de Kotlin.

  • Ao usar o artefato annotation-experimental como uma dependência, as regras de Lint fornecidas pelo artefato annotation-experimental-lint serão aplicadas automaticamente.

Versão 1.1.0

Versão 1.1.0

5 de junho de 2019

androidx.annotation:annotation:1.1.0 é lançado sem mudanças desde 1.0.0-rc01.

Versão 1.1.0-rc01

7 de maio de 2019

Lançamento do androidx.annotation:annotation:1.1.0-rc01 sem alterações do 1.1.0-beta01. As confirmações incluídas nessa versão podem ser encontradas aqui (link em inglês).

Versão 1.1.0-beta01

3 de abril de 2019

androidx.annotation:annotation:1.1.0-beta01 é lançado. As confirmações incluídas nessa versão podem ser encontradas aqui (link em inglês).

Novos recursos

  • Nova anotação @InspectableProperty para oferecer compatibilidade com as novas APIs de inspeção de visualização adicionadas no Android 10. Essa anotação pode ser aplicada a getters em visualizações ou outros elementos de IU. As ferramentas de geração de código podem usá-la para criar objetos complementares que mapeiam nomes de propriedades e atribuem códigos a valores de propriedades sem a sobrecarga de reflexão.

Mudanças na API

  • Mudança importante: @ContentView foi alterado para uma anotação do construtor, e o valor @LayoutRes foi removido. As classes que querem oferecer compatibilidade com anotações @ContentView precisam adicionar essa anotação a um construtor que usa um parâmetro @LayoutRes int. Isso corrige um problema ao usar essa anotação nos módulos da biblioteca. (b/128352521, link em inglês)

Versão 1.1.0-alpha02

13 de março de 2019

androidx.annotation:annotation:1.1.0-alpha02 é lançado. A lista completa de confirmações incluídas nessa versão pode ser encontrada neste link.

Novos recursos

  • Novo escopo de restrição da API: RestrictTo.Scope.LIBRARY_GROUP_PREFIX. Ele restringe o uso ao código em pacotes cujos grupos compartilham o mesmo prefixo do grupo de bibliotecas até o último . (ponto final). Por exemplo, como as bibliotecas foo.bar:lib1 e foo.baz:lib2 compartilham o prefixo foo, elas podem usar as APIs uma da outra que estão restritas a esse escopo. Da mesma forma, com.foo.bar:lib1 e com.foo.baz:lib2 compartilham o prefixo com.foo. e podem compartilhar APIs restritas a esse escopo. No entanto, a biblioteca com.bar.qux:lib3 não poderá usar a API restrita porque ela compartilha apenas o prefixo com., e não todos até o último . (ponto final).

Versão 1.1.0-alpha01

30 de janeiro de 2019

Lançamento do androidx.annotation:annotation 1.1.0-alpha01.

Novos recursos

  • Adicionada uma anotação @ContentView que permite indicar qual arquivo XML de layout será inflado. Essa opção é compatível com ComponentActivity na versão 1.0.0-alpha04 e com o Fragment na versão 1.1.0-alpha04, como alternativa ao uso de setContentView()ou à substituição de onCreateView(), respectivamente. (aosp/837619, link em inglês)

Versão 1.0.2

Versão 1.0.2

25 de fevereiro de 2019

Lançamento do androidx.annotation:annotation 1.0.2.

Correções de bugs

  • Correção das regras do R8/ProGuard incorporadas no jar. Elas faziam referência incorreta aos tipos android.support.annotation antigos em vez de androidx.annotation. Observação: isso só teria afetado suas compilações se você não estivesse usando getDefaultProguardFile, uma vez que essas regras padrão também incluíam as regras corretas para os dois pacotes. (aosp/891685).
  • Adição de uma regra do R8/ProGuard que mantém explicitamente a própria anotação @Keep. Isso garante que o ProGuard não remova a anotação dos tipos antes de realmente respeitar a semântica relacionada. Observação: isso só teria afetado suas compilações se você não estivesse usando getDefaultProguardFile, uma vez que essas regras padrão também incluíam as regras corretas para os dois pacotes. (aosp/903818, link em inglês)