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.2.0 - - 1.3.0-alpha01
annotation-experimental 1.1.0 - - 1.2.0-alpha01
Última atualização desta biblioteca: 30 de junho de 2021

Como 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.2.0"
    // To use the Java-compatible @Experimental API annotation
    implementation "androidx.annotation:annotation-experimental:1.1.0"
}

Kotlin

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

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 existentes nesta biblioteca antes de criar um novo. Adicione seu voto a um problema existente clicando no botão de estrela.

Criar novo problema

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

Versão 1.3.0

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

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)