注解

  
公开元数据,帮助工具和其他开发者理解您的应用代码。

此表列出了 androidx.annotation 组中的所有工件。

工件 稳定版 发布候选版 Beta 版 Alpha 版
annotation 1.9.1 - - -
annotation-experimental 1.5.0 - - -
此库的上次更新时间为:2025 年 5 月 7 日

声明依赖项

如需添加对 Annotation 的依赖项,您必须将 Google Maven 代码库添加到您的项目中。如需了解更多信息,请阅读 Google 的 Maven 代码库

在您的应用或模块的 build.gradle 文件中添加所需工件的依赖项

Groovy

dependencies {
    implementation "androidx.annotation:annotation:1.9.1"
    // To use the Java-compatible @androidx.annotation.OptIn API annotation
    implementation "androidx.annotation:annotation-experimental:1.5.0"
}

Kotlin

dependencies {
    implementation("androidx.annotation:annotation:1.9.1")
    // To use the Java-compatible @androidx.annotation.OptIn API annotation
    implementation("androidx.annotation:annotation-experimental:1.5.0")
}

如需了解有关依赖项的更多信息,请参阅添加构建依赖项

反馈

您的反馈有助于改进 Jetpack。如果您发现新问题或有改进此库的建议,请告知我们。在创建新问题之前,请查看此库中的现有问题。您可以通过点击星形按钮为您关注的现有问题投票。

创建新问题

如需了解更多信息,请参阅问题跟踪器文档

版本 1.9

版本 1.9.1

2024 年 10 月 30 日

androidx.annotation:annotation-*:1.9.1 已发布。版本 1.9.1 包含这些提交

bug 修复

  • 添加了 JS 目标平台。(I2310b
  • Kotlin 版本更新至 1.9 (I1a14c)

版本 1.9.0

2024 年 10 月 16 日

androidx.annotation:annotation-*:1.9.0 已发布。版本 1.9.0 包含这些提交

自 1.8.0 版本以来的重要变更

  • 添加了对以下 Kotlin Multiplatform 目标的支持:watchosDeviceArm64mingwX64linuxArm64

版本 1.9.0-rc01

2024 年 10 月 2 日

androidx.annotation:annotation-*:1.9.0-rc01 已发布。版本 1.9.0-rc01 自上一个 beta 版本以来没有变化

版本 1.9.0-beta01

2024 年 9 月 18 日

androidx.annotation:annotation-*:1.9.0-beta01 已发布。版本 1.9.0-beta01 包含这些提交

API 变更

版本 1.9.0-alpha03

2024 年 9 月 4 日

androidx.annotation:annotation-*:1.9.0-alpha03 已发布。版本 1.9.0-alpha03 自上一个 alpha 版本以来没有变化

版本 1.9.0-alpha02

2024 年 8 月 21 日

androidx.annotation:annotation-*:1.9.0-alpha02 已发布。版本 1.9.0-alpha02 包含这些提交

新功能

版本 1.9.0-alpha01

2024 年 6 月 26 日

androidx.annotation:annotation-*:1.9.0-alpha01 已发布。版本 1.9.0-alpha01 包含这些提交

外部贡献

  • 添加了对 linuxArm64 多平台目标的支持(感谢 Jake Wharton!)

版本 1.8

版本 1.8.2

2024 年 8 月 7 日

androidx.annotation:annotation-*:1.8.2 已发布。版本 1.8.2 包含这些提交

bug 修复

版本 1.8.1

2024 年 7 月 24 日

androidx.annotation:annotation-*:1.8.1 已发布。版本 1.8.1 包含这些提交

bug 修复

  • 包含额外的 Kotlin 多平台目标:watchostvos

版本 1.8.0

2024 年 5 月 14 日

androidx.annotation:annotation-*:1.8.0 已发布。版本 1.8.0 包含这些提交

自 1.7.0 版本以来的重要变更

  • 添加了 @ReplaceWith 注解,用于表示已弃用 API 的替代方案
  • @MainThread 注解已移至通用源集。

版本 1.8.0-rc01

2024 年 5 月 1 日

androidx.annotation:annotation-*:1.8.0-rc01 已发布。版本 1.8.0-rc01 自上一个 beta 版本以来没有变化

版本 1.8.0-beta02

2024 年 4 月 17 日

androidx.annotation:annotation-*:1.8.0-beta02 已发布。版本 1.8.0-beta02 自上一个版本以来没有变化。

版本 1.8.0-beta01

2024 年 4 月 3 日

androidx.annotation:annotation-*:1.8.0-beta01 已发布。版本 1.8.0-beta01 包含这些提交

新功能

  • ReplaceWith 注解现在 API 稳定,但相关的自动修复 lint 检查尚未发布

版本 1.8.0-alpha02

2024 年 3 月 20 日

androidx.annotation:annotation-*:1.8.0-alpha02 已发布,无显著变化。版本 1.8.0-alpha02 包含这些提交

版本 1.8.0-alpha01

2024 年 2 月 21 日

androidx.annotation:annotation-*:1.8.0-alpha01 已发布。版本 1.8.0-alpha01 包含这些提交。

API 变更

  • 添加了 @ReplaceWith 注解,用于表达已弃用 API 的替代方案。(I38db3, b/322373864

外部贡献

  • 感谢 Ivan Matkov 将 @MainThread 注解移至通用源集。(6f228c

版本 1.7

版本 1.7.1

2023 年 12 月 13 日

androidx.annotation:annotation-*:1.7.1 已发布。版本 1.7.1 包含这些提交。

bug 修复

  • 插入默认平台依赖项时使用 compile 范围。(I4958f

版本 1.7.0

2023 年 9 月 6 日

androidx.annotation:annotation-*:1.7.0 已发布。版本 1.7.0 包含这些提交。

自 1.6.0 版本以来的重要变更

  • 包含针对 iOS、Linux 和 MacOS 平台的 Kotlin 多平台工件。
  • 您现在可以在 KMM 项目中使用注解。请注意,Annotations 的非 Android 目标仍处于实验阶段,但我们决定合并版本,以便开发者更轻松地试用它们。具体而言,在 alpha 开发期间,随着我们最终确定边界,某些注解可能会在通用代码和平台特定代码之间移动。

版本 1.7.0-rc01

2023 年 8 月 23 日

androidx.annotation:annotation-*:1.7.0-rc01 已发布。版本 1.7.0-rc01 包含这些提交。

此版本与之前的 beta 版本相比没有包含任何更改。

版本 1.7.0-beta01

2023 年 8 月 9 日

androidx.annotation:annotation-*:1.7.0-beta01 已发布。版本 1.7.0-beta01 包含这些提交。

新功能

  • 针对发布稳定了 API

版本 1.7.0-alpha03

2023 年 7 月 26 日

androidx.annotation:annotation-*:1.7.0-alpha03 已发布。版本 1.7.0-alpha03 包含这些提交。

bug 修复

  • Maven POM 发布现在包含默认面向 JVM 的多平台工件作为依赖项

版本 1.7.0-alpha02

2023 年 3 月 24 日

androidx.annotation:annotation-*:1.7.0-alpha02 已发布。

bug 修复

  • 从 Maven 工件中移除了依赖项限制,以解决 Kotlin Native Targets 中的构建问题(b/274786186, KT-57531)。

版本 1.7.0-alpha01

2023 年 3 月 22 日

androidx.annotation:annotation-*:1.7.0-alpha01 已发布。版本 1.7.0-alpha01 包含这些提交。

新功能

  • 包含针对 iOS、Linux 和 MacOS 平台的 Kotlin 多平台工件。
  • 您现在可以在 KMM 项目中使用注解。请注意,Annotations 的非 Android 目标仍处于实验阶段,但我们决定合并版本,以便开发者更轻松地试用它们。具体而言,在 alpha 开发期间,随着我们最终确定边界,某些注解可能会在通用代码和平台特定代码之间移动。

版本 1.6

版本 1.6.0

2023 年 2 月 22 日

androidx.annotation:annotation:1.6.0androidx.annotation:annotation-jvm:1.6.0 已发布。版本 1.6.0 包含这些提交。

自 1.5.0 版本以来的重要变更

  • 添加了 @RequiresExtension 注解,用于表示某个 API 需要特定版本的扩展 SDK(I5e4fe
  • 已将注解库转换为使用 Kotlin Multiplatform 工具链进行构建(I3be8d

版本 1.6.0-rc01

2023 年 2 月 8 日

androidx.annotation:annotation:1.6.0-rc01androidx.annotation:annotation-jvm:1.6.0-rc01 已发布。版本 1.6.0-rc01 包含这些提交。

  • Annotation 已针对发布候选版 1.6.0-rc01 进行了稳定。

版本 1.6.0-beta01

2023 年 1 月 25 日

androidx.annotation:annotation:1.6.0-beta01androidx.annotation:annotation-jvm:1.6.0-beta01 已发布,与 1.6.0-alpha01 相比没有变化。

版本 1.6.0-alpha01

2023 年 1 月 11 日

androidx.annotation:annotation-*:1.6.0-alpha01 已发布。版本 1.6.0-alpha01 包含这些提交。

版本 1.6.0-dev01

2023 年 2 月 8 日

androidx.annotation:annotation-*:1.6.0-dev01 已发布。版本 1.6.0-dev01 包含这些提交。

  • Annotation 已为开发者预览版 1.6.0-dev01 启用了 Kotlin 多平台。

新功能

  • 添加了 @RequiresExtension 注解,用于表示某个 API 需要特定版本的扩展 SDK。(I5e4fe
  • 已将注解库转换为使用 Kotlin Multiplatform 工具链进行构建(I3be8d

版本 1.5.0

版本 1.5.0

2022 年 9 月 21 日

androidx.annotation:annotation:1.5.0 已发布。版本 1.5.0 包含这些提交。

自 1.4.0 版本以来的重要变更

  • 注解库已完全迁移到 Kotlin 源,从而支持 Kotlin 特定目标使用站点和其他与 Kotlin 兼容的注解功能。

版本 1.5.0-rc01

2022 年 9 月 7 日

androidx.annotation:annotation:1.5.0-rc01 已发布。版本 1.5.0-rc01 包含这些提交。

  • 与之前的 1.5.0 beta 版本相比没有变化。

版本 1.5.0-beta01

2022 年 8 月 24 日

androidx.annotation:annotation:1.5.0-beta01 已发布。版本 1.5.0-beta01 包含这些提交。

  • 与之前的版本相比没有变化。API 表面已针对 beta 版本冻结。

版本 1.5.0-alpha02

2022 年 8 月 10 日

androidx.annotation:annotation:1.5.0-alpha02 已发布。版本 1.5.0-alpha02 包含这些提交。

  • 自上一个 alpha 版本以来没有变化。

版本 1.5.0-alpha01

2022 年 7 月 27 日

androidx.annotation:annotation:1.5.0-alpha01 已发布。版本 1.5.0-alpha01 包含这些提交。

新功能

  • 注解库已完全迁移到 Kotlin 源,从而支持 Kotlin 特定目标使用站点和其他与 Kotlin 兼容的注解功能。

版本 1.4.0

版本 1.4.0

2022 年 6 月 15 日

androidx.annotation:annotation:1.4.0 已发布。版本 1.4.0 包含这些提交。

自 1.3.0 版本以来的重要变更

  • @RestrictTo 已迁移到 Kotlin 源,现在支持 @file 使用站点。因此,Annotation 库现在依赖于 Kotlin 标准库。
  • @ReturnThis (b/140249763):确保此方法的覆盖方法必须返回相同的实例(适用于构建器等)
  • @OpenForTesting (b/141539024):标有“open”的 Kotlin 类和方法可以使用此注解进行注解,lint 将确保此类的子类化(以及方法的覆盖)仅来自单元测试
  • @DeprecatedSinceApi (b/37116481):表示带有注解的方法(或类或字段)是平台 API 的向后兼容库的一部分,在给定 API 级别之后不再需要。
  • @EmptySuper:表示此方法被定义为空,因此在覆盖时无需调用它(实际上不应调用;例如,它可以包含向后兼容性检查。)

版本 1.4.0-rc01

2022 年 6 月 1 日

androidx.annotation:annotation:1.4.0-rc01 已发布。版本 1.4.0-rc01 包含这些提交。

  • API 表面和功能已最终确定以供发布。

版本 1.4.0-beta01

2022 年 5 月 18 日

androidx.annotation:annotation:1.4.0-beta01 已发布。版本 1.4.0-beta01 包含这些提交。

  • 自上一个 alpha 版本以来没有变化。API 表面已针对 Beta 版本锁定。

版本 1.4.0-alpha02

2022 年 2 月 9 日

androidx.annotation:annotation:1.4.0-alpha02 已发布。版本 1.4.0-alpha02 包含这些提交。

新功能

  • 添加了 @ReturnThis@OpenForTesting@EmptySuper@DeprecatedSinceApi 注解。(21946a2

  • @ReturnThis (b/140249763):确保此方法的覆盖方法必须返回相同的实例(适用于构建器等)

  • @OpenForTesting (b/141539024):标有“open”的 Kotlin 类和方法可以使用此注解进行注解,lint 将确保此类的子类化(以及方法的覆盖)仅来自单元测试

  • @DeprecatedSinceApi (b/37116481):表示带有注解的方法(或类或字段)是平台 API 的向后兼容库的一部分,在给定 API 级别之后不再需要。

  • @EmptySuper:表示此方法被定义为空,因此在覆盖时无需调用它(实际上不应调用;例如,它可以包含向后兼容性检查。)

版本 1.4.0-alpha01

2021 年 12 月 15 日

androidx.annotation:annotation:1.4.0-alpha01 已发布。版本 1.4.0-alpha01 包含这些提交。

API 变更

  • RestrictTo 注解迁移到 Kotlin 源(Ia6336

版本 1.3.0

版本 1.3.0

2021 年 11 月 3 日

androidx.annotation:annotation:1.3.0 已发布。版本 1.3.0 包含这些提交。

自 1.2.0 版本以来的重要变更

  • @Discouraged 注解,用于标记那些无法合理弃用但对性能有显著负面影响且不应在正常生产代码中调用的 API
  • @Context 注解,用于标记通用上下文,以便开发者更轻松地迁移到新的 API
  • @GravityInt 注解,用于标记包含打包到整数中的重力值的元素
  • 已弃用 @InspectableProperty,转而使用 androidx.resourceinspection@Attribute

版本 1.3.0-rc01

2021 年 10 月 27 日

androidx.annotation:annotation:1.3.0-rc01 已发布。版本 1.3.0-rc01 包含这些提交。

版本 1.3.0-beta01

2021 年 9 月 29 日

androidx.annotation:annotation:1.3.0-beta01 已发布。版本 1.3.0-beta01 包含这些提交。

API 变更

  • 要求在 @Discouraged 的“message”中提供解释。(I3390f
  • 添加 @Discouraged 注解,用于标记不建议使用的元素。(Ib2549
  • 使 RestrictTo 注解在 Studio 文档弹出窗口中可见(Ie8e1a, b/183134648

bug 修复

  • 添加 Context 注解以标记通用 Context,以便开发者可以更轻松地迁移到新 API。(Ie581a

版本 1.3.0-alpha01

2021 年 3 月 24 日

androidx.annotation:annotation:1.3.0-alpha01 已发布。版本 1.3.0-alpha01 包含这些提交。

API 变更

  • 已弃用 androidx.resourceinspection 中的 @InspectableProperty,转而使用 @Attribute。(Ic0eff
  • 添加了 @GravityInt 注解,用于标记包含打包到整数中的重力值的元素。(Ifcaa4, b/180620048

Annotation-Experimental 版本 1.5

版本 1.5.0

2025 年 5 月 7 日

androidx.annotation:annotation-experimental:1.5.0 已发布。版本 1.5.0 包含这些提交

自 1.4.0 版本以来的重要变更

  • message 添加到 RequiresOptIn,使其与 Kotlin stdlib 注解的默认空字符串值匹配。(I1f50e
  • 此库现在面向 Kotlin 2.0 语言级别,并需要 KGP 2.0.0 或更高版本。(Idb6b5

版本 1.5.0-rc01

2025 年 4 月 23 日

androidx.annotation:annotation-experimental:1.5.0-rc01 已发布。版本 1.5.0-rc01 自上一个 beta 版本以来没有变化,请参阅提交

版本 1.5.0-beta01

2025 年 4 月 9 日

androidx.annotation:annotation-experimental:1.5.0-beta01 已发布。版本 1.5.0-beta01 包含 这些提交

重要变更

  • 此库现在面向 Kotlin 2.0 语言级别,并要求 KGP 2.0.0 或更高版本 (Idb6b5)

版本 1.5.0-alpha01

2024 年 8 月 21 日

androidx.annotation:annotation-experimental:1.5.0-alpha01 已发布。版本 1.5.0-alpha01 包含 这些提交

API 变更

  • RequiresOptIn 添加 message,使其与 Kotlin stdlib 注解匹配,默认空字符串值。 (I1f50e)

Annotation-Experimental 1.4 版

1.4.1 版

2024 年 4 月 3 日

androidx.annotation:annotation-experimental:1.4.1 已发布。版本 1.4.1 包含 这些提交

bug 修复

  • 修复 isKotlin 的使用,避免在 Kotlin 文件中意外触发 RequiresOptIn 检查。 (I2d8c1f)

版本 1.4.0

2024年1月24日

androidx.annotation:annotation-experimental:1.4.0 已发布。版本 1.4.0 包含这些提交。

自 1.3.0 版本以来的重要变更

  • 添加对 Kotlin 多平台的支持
  • 修复与 Kotlin 2.0 的兼容性
  • 显示对实验性注解的 Kotlin 属性的 Java 用法的警告 (I8bd43)
  • 修复 Kotlin 方法上自动修复注解的位置 (Id7a41)

版本 1.4.0-rc01

2024年1月10日

androidx.annotation:annotation-experimental:1.4.0-rc01 已发布。版本 1.4.0-rc01 自上一版本以来无任何更改。

版本 1.4.0-beta01

2023 年 12 月 13 日

androidx.annotation:annotation-experimental:1.4.0-beta01 已发布。自上一版本以来无任何更改。

版本 1.4.0-alpha01

2023年11月29日

androidx.annotation:annotation-experimental:1.4.0-alpha01 已发布。版本 1.4.0-alpha01 包含这些提交。

bug 修复

  • 暂时移除类级别自动修复建议,以解决 b/301598518。 (Id98b2)
  • 显示对实验性注解的 Kotlin 属性的 Java 用法的警告 (I8bd43)
  • 修复 Kotlin 方法上自动修复注解的位置 (Id7a41)

1.4.0-dev01 版

2023 年 2 月 8 日

androidx.annotation:annotation-experimental:1.4.0-dev01 已发布。版本 1.4.0-dev01 包含这些提交。

  • Annotation-experimental 已为开发者预览版 1.4.0-dev01 启用了 Kotlin 多平台。

Annotation-Experimental 1.3.1 版

1.3.1 版

2023年6月21日

androidx.annotation:annotation-experimental:1.3.1 已发布。版本 1.3.1 包含这些提交。

bug 修复

  • 应用 lint 自动修复时,将注解放置在修饰符列表的开头。 (b/251172715)
  • 使用 lint 检查以阻止在 Kotlin 源代码中使用 androidx.annotation.RequiresOptIn (b/241097743)

Annotation-Experimental 1.3.0 版

版本 1.3.0

2022 年 9 月 7 日

androidx.annotation:annotation-experimental:1.3.0 已发布。版本 1.3.0 包含这些提交。

自 1.2.0 版本以来的重要变更

  • 添加对包级别使用 @androidx.annotation.OptIn 的支持 (I24d58)
  • 将 Kotlin 标准库依赖项移至 API 类型,而非仅编译。这意味着 Annotation-Experimental 库的所有客户端都将在其传递依赖项中包含 Kotlin 标准库。

版本 1.3.0-rc01

2022 年 8 月 24 日

androidx.annotation:annotation-experimental:1.3.0-rc01 已发布。版本 1.3.0-rc01 包含这些提交。

  • 与上一版本相比无变化。实现已为 RC 冻结。

版本 1.3.0-beta01

2022 年 8 月 10 日

androidx.annotation:annotation-experimental:1.3.0-beta01 已发布。版本 1.3.0-beta01 包含这些提交。

  • 与 alpha 版相比无变化。此库已为 beta 版发布而稳定。

版本 1.3.0-alpha01

2022 年 7 月 27 日

androidx.annotation:annotation-experimental:1.3.0-alpha01 已发布。版本 1.3.0-alpha01 包含这些提交。

API 变更

  • 添加对包级别使用 @androidx.annotation.OptIn 的支持 (I24d58)

Annotation-Experimental 1.2.0 版

1.2.0 版

2021 年 12 月 15 日

androidx.annotation:annotation-experimental:1.2.0 已发布。版本 1.2.0 包含这些提交。

自 1.1.0 以来的重要更改

此库现在面向 Java 8 语言级别。

1.2.0-rc01 版

2021年12月1日

androidx.annotation:annotation-experimental:1.2.0-rc01 已发布。版本 1.2.0-rc01 包含这些提交。

与 beta 版相比无变化。

1.2.0-beta01 版

2021年11月17日

androidx.annotation:annotation-experimental:1.2.0-beta01 已发布。版本 1.2.0-beta01 包含这些提交。

API 变更

API 已最终确定为 beta 版。

Annotation-Experimental 1.2.0-alpha01 版

2021年6月30日

androidx.annotation:annotation-experimental:1.2.0-alpha01 已发布。版本 1.2.0-alpha01 包含这些提交。

新功能

  • 库现在面向 Java 8 语言级别

1.2.0 版

1.2.0 版

2021 年 3 月 24 日

androidx.annotation:annotation:1.2.0 已发布。版本 1.2.0 包含这些提交。

自 1.1.0 以来的主要变更

  • 新增 @ChecksSdkIntAtLeast 注解,可用于标识用于控制 SDK 级别访问并满足 NewApi lint 检查的方法或字段。
  • 新增 @DoNotInline 注解,与 Proguard 规则搭配使用,可防止成员在优化期间被内联。
  • 多种注解现在都已使用 @Documented 进行注解,以确保它们显示在注解成员的文档中。

1.2.0-rc01 版

2021年2月24日

androidx.annotation:annotation:1.2.0-rc01 已发布。版本 1.2.0-rc01 包含这些提交。

1.2.0-beta01 版

2021年1月13日

androidx.annotation:annotation:1.2.0-beta01 已发布。版本 1.2.0-beta01 包含这些提交。

API 变更

  • 新的 @DoNotInline 注解,指示代码优化器(例如 Proguard、R8)不要内联带注解的方法。 (I3dfe8, b/141326133)

1.2.0-alpha01 版

2020年5月14日

androidx.annotation:annotation:1.2.0-alpha01 已发布。版本 1.2.0-alpha01 包含这些提交。

新功能

  • 新增 @ChecksSdkIntAtLeast 注解。这使得 androidx 和用户可以注解表示 SDK_INT 检查的方法和字段。 (I89a54, b/120255046)

Annotation-Experimental 1.1.0 版

1.1.0 版

2021年4月7日

androidx.annotation:annotation-experimental:1.1.0 已发布。版本 1.1.0 包含这些提交。

自 1.0.0 以来的主要变更

  • Jetpack 的实验性注解已使用 Kotlin 重写,以提供对多个标记类的支持并改进对弃用的处理。
  • 已添加 RequiresOptInOptIn 注解以与 Kotlin 保持一致,并且 ExperimentalUsesExperimental 注解已被弃用。

1.1.0-rc02 版

2021 年 3 月 24 日

androidx.annotation:annotation-experimental:1.1.0-rc02 已发布。版本 1.1.0-rc02 包含这些提交。

bug 修复

  • 添加了 Proguard 规则,以确保代码优化不会对缺失的 Kotlin 元注解发出警告。

1.1.0-rc01 版

2021年3月10日

androidx.annotation:annotation-experimental:1.1.0-rc01 已发布。版本 1.1.0-rc01 包含这些提交。

自之前的 beta 版发布以来无变化。

1.1.0-beta01 版

2021年1月27日

androidx.annotation:annotation-experimental:1.1.0-beta01 已发布。版本 1.1.0-beta01 包含这些提交。

API 变更

  • androidx 变体的 Experimental 注解已被弃用,以与 Kotlin 保持一致。它已被 androidx 变体的 RequiresOptIn 注解取代,并且面向 Java 的 lint 工具已更新,以支持新的 Kotlin 注解和新的 androidx 变体。 (I52495, b/151331381)

1.1.0-alpha01 版

2020年7月22日

androidx.annotation:annotation-experimental:1.1.0-alpha01 已发布。版本 1.1.0-alpha01 包含这些提交。

新功能

  • Experimental 注解库现在用 Kotlin 编写,但不需要将 Kotlin 标准库作为依赖项包含在内。它包含一个 Proguard 文件,允许从仅使用 Java 编程语言的项目中剥离不必要的 Kotlin 元数据。
  • @UseExperimental 现在支持多个标记类 (aosp/1185577, b/145137892)

Annotation-Experimental 1.0.0 版

Annotation-Experimental 1.0.0 版

2019年11月7日

androidx.annotation:annotation-experimental:1.0.0androidx.annotation:annotation-experimental-lint:1.0.0 已发布,自 1.0.0-rc01 以来无变化。版本 1.0.0 包含这些提交

1.0.0 的主要特性

  • 在 Java 源代码中基于 Lint 强制执行 Kotlin @Experimental 语义
  • 提供与 Kotlin 的 @Experimental@UseExperimental 注解等效行为的 Java 注解,无需依赖 Kotlin

Annotation-Experimental 1.0.0-rc01 版

2019年10月23日

androidx.annotation:annotation-experimental:1.0.0-rc01androidx.annotation:annotation-experimental-lint:1.0.0-rc01 已发布。版本 1.0.0-rc01 包含这些提交

已知问题

当使用 Studio 3.5 稳定版时,对于 Kotlin @Experimental 注解的无效 Java 用法,IDE 中不显示 @Experimental 用法 lint 检测器发出的警告。请参阅 b/140640322

Annotation-Experimental 1.0.0-beta01 版

2019年10月9日

androidx.annotation:annotation-experimental:1.0.0-beta01androidx.annotation:annotation-experimental-lint:1.0.0-beta01 已发布,自版本 1.0.0-alpha01 以来无变化。版本 1.0.0-beta01 包含这些提交

Annotation-Experimental 1.0.0-alpha01 版

2019年9月18日

androidx.annotation:annotation-experimental:1.0.0-alpha01androidx.annotation:annotation-experimental-lint:1.0.0-alpha01 已发布。这些是 annotation-experimental 1.0.0-alpha01 中包含的提交,这些是 annotation-experimental-lint 1.0.0-alpha01 中包含的提交

新功能

  • Jetpack Experimental 注解库提供了 Kotlin 实验性 API 标记 的 Java 兼容实现。-lint 工件提供了基于 Lint 的实验性用法限制实现,并对 Kotlin 原生实验性 API 标记的 Java 用法强制执行限制。

  • 当使用 annotation-experimental 工件作为依赖项时,annotation-experimental-lint 工件提供的 Lint 规则将自动强制执行。

1.1.0 版

1.1.0 版

2019年6月5日

androidx.annotation:annotation:1.1.0 已发布,与 1.1.0-rc01 相比无变化。

1.1.0-rc01 版

2019年5月7日

androidx.annotation:annotation:1.1.0-rc01 已发布,与 1.1.0-beta01 相比无变化。此版本中包含的提交可在 此处 找到。

1.1.0-beta01 版

2019年4月3日

androidx.annotation:annotation:1.1.0-beta01 已发布。此版本中包含的提交可在 此处 找到。

新功能

  • 新的 @InspectableProperty 注解,用于支持 Android 10 中添加的新视图检查 API。此注解可应用于视图或其他 UI 元素上的 getter。代码生成工具可使用它来创建伴生对象,将属性名称和属性 ID 映射到属性值,而无需反射开销。

API 变更

  • 破坏性变更:@ContentView 已更改为构造函数注解,并且 @LayoutRes 值已移除。希望支持 @ContentView 注解的类应将此注解添加到接受 @LayoutRes int 参数的构造函数中。这解决了在库模块中使用此注解时出现的问题。 (b/128352521)

1.1.0-alpha02 版

2019年3月13日

androidx.annotation:annotation:1.1.0-alpha02 已发布。此版本中包含的完整提交列表可在 此处 找到。

新功能

  • 新的 API 限制范围:RestrictTo.Scope.LIBRARY_GROUP_PREFIX。它将用法限制在包组共享相同库组前缀(直到最后一个 .(句点))的代码中。例如,由于库 foo.bar:lib1foo.baz:lib2 共享前缀 foo,它们可以使用彼此受此范围限制的 API。同样,对于 com.foo.bar:lib1com.foo.baz:lib2 共享 com.foo. 前缀,可以共享受此范围限制的 API。然而,库 com.bar.qux:lib3 将无法使用受限制的 API,因为它只共享 com. 前缀,而不是直到最后一个 .(句点)。

1.1.0-alpha01 版

2019年1月30日

androidx.annotation:annotation 1.1.0-alpha01 已发布。

新功能

  • 添加了 @ContentView 注解,允许您指示应填充哪个布局 XML 文件。在 ComponentActivity1.0.0-alpha04 版本和 Fragment1.1.0-alpha04 版本中支持此功能,作为使用 setContentView() 或覆盖 onCreateView() 的替代方案。 (aosp/837619)

1.0.2 版

1.0.2 版

2019年2月25日

androidx.annotation:annotation 1.0.2 已发布。

Bug 修复

  • 修正 jar 中嵌入的 R8/ProGuard 规则。这些规则错误地引用了旧的 android.support.annotation 类型,而不是 androidx.annotation。注意:如果您没有使用 getDefaultProguardFile,这只会影响您的构建,因为这些默认规则也包含了两个包的正确规则。 (aosp/891685)
  • 添加一个 R8/ProGuard 规则,明确保留 @Keep 注解本身。这确保 ProGuard 在实际遵循其语义之前不会从类型中移除注解。注意:如果您没有使用 getDefaultProguardFile,这只会影响您的构建,因为这些默认规则也包含了两个包的正确规则。 (aosp/903818)