我有一个安卓库,我想将一些资源标记为已弃用。 Drawables,维度,持续时间......我在某处读到了我可以将deprecated =“deprecated”添加到资源定义但它似乎没有做任何事情。
在Android R中,您可以看到诸如
之类的内容
@java.lang.Deprecated
public static final int autoText = 16843114;
我正在尝试通过编辑durations.xml,values.xml甚至public.xml来生成类似内容......
谢谢!
答案 0 :(得分:7)
简短回答:不可能。
Android来源注释中使用了 @deprecated
标记,因为它可以在fw/base core/res/values/attrs.xml中看到fw/base core/res/values/public.xml(参见原始帖子中提到的自动文本的第3427行),在整个项目的其他地方,但似乎用于构建应用程序的构建工具只是跳过所有注释,这意味着在该过程失败的过程中也会跳过注释标记。
基于Android源的弃用注释的示例用法:
<!-- {@deprecated Use foobar instead.} -->
<string name="foo">abc</string>
<string name="foobar">abcd</string>
答案 1 :(得分:2)
我所做的只是添加一个TODO语句。它没有标记资源,但是doc关键字TODO确实显示在Git中,并作为阴沟中的标记。希望这些警告足以让你和其他人不再使用它。
但并非总是如此。我们知道,@ Deprecated本质上是一个止损,直到真正移除的东西,并且代码被正确清理。
这是我不再使用的shape.xml文件的示例(并且想要@Deprecate)。
<?xml version="1.0" encoding="utf-8"?>
<!--
Border around card elements. For now this is used only within the
cards of the Questionnaire RecyclerView.
TODO: This file is obsolete. Use CardView instead.
-->
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<stroke
android:width="@dimen/tiny_card_margin"
android:color="@color/colorPrimaryDark" />
<solid
android:color="@android:color/white" />
<corners
android:radius="4dp" />
</shape>