Android 已弃用注解已弃用,替代品是什么?

Android Deprecated Annotation is deprecated, what's the replacement?

根据 Official Android Documentation Deprecated 本身在 API 级别 S 中被弃用。那么 Deprecated 本身已被弃用的替代品是什么?

编辑:添加了网络存档 link 以供历史参考。

这是一个文档错误。 (而且已经修复!)

Deprecated 注释并没有真正弃用。

显然,Deprecated 的源代码在其 javadoc 注释中包含了以下内容:

 * @apiNote
 * It is strongly recommended that the reason for deprecating a program element
 * be explained in the documentation, using the {@code @deprecated}
 * javadoc tag. 

显然,{@code @deprecated}metalava 工具解释为 @deprecated javadoc 标记。这导致 metalava 将“缺失的”@Deprecated 注释注入到 Android JAR 文件中的“.class”文件中。据推测,注入的注释随后被合并到网站上生成的 javadocs 中。

感谢问题跟踪器中的 Manohar Reddy for finding the bug

您可以找到他们所做的修复 here


就其价值而言,java.lang.Deprecated 是一个 class,它起源于 Oracle / OpenJDK Java(即标准 Java)class 库. Android 不会/不应该 没有很好的理由故意弃用它。这将对 Java <-> Android 可移植性造成另一个障碍。