注解
最近更新时间 | 当前稳定版 | 下一候选版本 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2020 年 7 月 22 日 | 1.1.0 | - | - | 1.2.0-alpha01 |
声明依赖项
如需添加 Annotation 的依赖项,您必须将 Google Maven 代码库添加到项目中。如需了解详情,请参阅 Google 的 Maven 代码库。
在应用或模块的 build.gradle
文件中添加所需工件的依赖项:
dependencies { implementation "androidx.annotation:annotation:1.1.0" // To use the Java-compatible @Experimental API annotation implementation "androidx.annotation:annotation-experimental:1.0.0" }
如需详细了解依赖项,请参阅添加构建依赖项。
反馈
您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对库的改进有某些建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。
如需了解详情,请参阅问题跟踪器文档。
版本 1.2.0
版本 1.2.0-alpha01
2020 年 5 月 14 日
发布了 androidx.annotation:annotation:1.2.0-alpha01
。版本 1.2.0-alpha01 中包含这些提交内容。
新功能
- 添加了
@ChecksSdkIntAtLeast
注解。这让用户可以为表示SDK_INT
检查的方法和字段添加注释。(I89a54、b/120255046)
Annotation-Experimental 版本 1.1.0
Annotation-Experimental 版本 1.1.0-alpha01
2020 年 7 月 22 日
发布了 androidx.annotation:annotation-experimental:1.1.0-alpha01
。版本 1.1.0-alpha01 中包含这些提交内容。
新功能
- 实验注释库现在用 Kotlin 编写,但不需要添加 Kotlin 标准库作为依赖项。它包含一个 Proguard 文件,如果项目只使用 Java 编程语言,可以通过该文件从项目中去掉不必要的 Kotlin 元数据。
@UseExperimental
现在支持多个 Marker 类(aosp/1185577、b/145137892)
Annotation-Experimental 版本 1.0.0
Annotation-Experimental 版本 1.0.0
2019 年 11 月 7 日
发布了 androidx.annotation:annotation-experimental:1.0.0
和 androidx.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-rc01
和 androidx.annotation:annotation-experimental-lint:1.0.0-rc01
。版本 1.0.0-rc01 中包含这些提交内容。
已知问题
使用 Studio 3.5 稳定版时,该 IDE 不会针对 Java 中无效的 Kotlin @Experimental
注解用法显示来自 @Experimental
用法 lint 检测器的警告。请参阅 b/140640322。
Annotation-Experimental 版本 1.0.0-beta01
2019 年 10 月 9 日
发布了 androidx.annotation:annotation-experimental:1.0.0-beta01
和 androidx.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-alpha01
和 androidx.annotation:annotation-experimental-lint:1.0.0-alpha01
。前者是 annotation-experimental 1.0.0-alpha01
中包含的提交内容,后者是 annotation-experimental-lint 1.0.0-alpha01
中包含的提交内容。
新功能
Jetpack 实验注解库提供 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。可将此注释应用于视图或其他界面元素上的 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:lib1
和foo.baz:lib2
具有相同的前缀foo
,因此它们可以使用彼此的限定在此范围内的 API。同样,com.foo.bar:lib1
和com.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 文件。ComponentActivity
的1.0.0-alpha04
版本和Fragment
的1.1.0-alpha04
版本支持此功能,它们分别作为使用setContentView()
或替换onCreateView()
的替代方法。(aosp/837619)
版本 1.0.2
版本 1.0.2
2019 年 2 月 25 日
发布了 androidx.annotation:annotation 1.0.2
。
问题修复
- 更正了嵌入到 jar 中的 R8/ProGuard 规则。这些规则错误地引用了旧的
android.support.annotation
类型,而不是androidx.annotation
。注意:只有在您未使用getDefaultProguardFile
的情况下,这才会对您的编译产生影响,因为这些默认规则还包括两个软件包的正确规则。(aosp/891685) - 添加一个 R8/ProGuard 规则,该规则会明确保留 @Keep 注解本身。这样可确保 ProGuard 在确实遵守注释的语义之前不会将注释从类型中移除。注意:只有在您未使用
getDefaultProguardFile
的情况下,这才会对您的编译产生影响,因为这些默认规则还包括两个软件包的正确规则。(aosp/903818)