Annotation
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 | - | - | - |
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.
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
paraandroidx.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
emandroidx.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 lintNewApi
. - 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çãoSDK_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
eOptIn
foram adicionadas para paridade com o Kotlin, e o uso das anotaçõesExperimental
eUsesExperimental
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 artefatoannotation-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 bibliotecasfoo.bar:lib1
efoo.baz:lib2
compartilham o prefixofoo
, elas podem usar as APIs uma da outra que estão restritas a esse escopo. Da mesma forma,com.foo.bar:lib1
ecom.foo.baz:lib2
compartilham o prefixocom.foo.
e podem compartilhar APIs restritas a esse escopo. No entanto, a bibliotecacom.bar.qux:lib3
não poderá usar a API restrita porque ela compartilha apenas o prefixocom.
, 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 comComponentActivity
na versão1.0.0-alpha04
e com oFragment
na versão1.1.0-alpha04
, como alternativa ao uso desetContentView()
ou à substituição deonCreateView()
, 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 deandroidx.annotation
. Observação: isso só teria afetado suas compilações se você não estivesse usandogetDefaultProguardFile
, 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)