我可以将android项目中的资源标记为已弃用吗?

我可以将android项目中的资源标记为已弃用吗?,android,xml,android-resources,android-library,Android,Xml,Android Resources,Android Library,我有一个android库,我想将其中一些资源标记为已弃用。 可拉丝、尺寸、持续时间。。。我在某个地方读到,我可以将deprecated=“deprecated”添加到资源定义中,但它似乎没有任何作用 在AndroidR中,您可以看到如下内容 @java.lang.Deprecated 公共静态最终自动图文集=16843114简短回答:不可能。 @不推荐使用的标记由Android源代码在注释中使用,如图所示(参见原帖子中提到的自动图文集的第3427行),以及整个项目中的其他地方,但是,用于构建应

我有一个android库,我想将其中一些资源标记为已弃用。 可拉丝、尺寸、持续时间。。。我在某个地方读到,我可以将deprecated=“deprecated”添加到资源定义中,但它似乎没有任何作用

在AndroidR中,您可以看到如下内容

@java.lang.Deprecated

公共静态最终自动图文集=16843114简短回答:不可能。

@不推荐使用的
标记由Android源代码在注释中使用,如图所示(参见原帖子中提到的自动图文集的第3427行),以及整个项目中的其他地方,但是,用于构建应用程序的构建工具似乎只是跳过了所有注释,这意味着注释标记在使该方法失败的过程中也会被跳过

基于Android源的弃用注释的示例用法:

<!-- {@deprecated Use foobar instead.} -->
<string name="foo">abc</string>
<string name="foobar">abcd</string>

abc
abcd

我所做的只是添加一个TODO语句。它不标记资源,但doc关键字TODO确实显示在Git中,并作为标记显示在边沟中。希望这些警告足以阻止你和其他人使用它

但并非总是如此。正如我们所知,@Deprecated本质上是一个权宜之计,直到真正永久地删除某些内容并正确地清理代码

下面是一个shape.xml文件的示例,我不再使用它(并且希望@Deprecate)



我认为这是一个有趣的问题,但如果不可能,我也不会感到惊讶。我唯一能想到的是在目录名中添加一个限定符,但似乎没有任何限定符,至少文档中没有。啊,谢谢!你有工作经验吗?因为到目前为止,它似乎确实让我有所不同,我想知道它是否应该不仅仅是一条评论……我自己也没有必要使用它——就像Android源代码那样。现在看来,它似乎对我也不起作用…谢谢你。不幸的是,我得到了目前还不受支持的感觉。Android源代码构建工具似乎在解析注释,应用程序构建工具似乎只是跳过了所有注释。实际上,似乎不可能使用默认工具对资源进行弃用注释。将更新答案以代表这些发现。code.google.com上有一个问题,但显然自2015年8月以来没有更新。这是可行的,但它有点像黑客,并阻止你真正正确地管理你的待办事项。。。只要您在其他地方管理弃用过程,并且在下一次API破坏性更改中删除此代码和TODO,这是可以接受的。…。@jesses.co.tt是的,它肯定会将TODO的正常定义扩展到比我们通常想象的更大的时间线。我很好奇您在其他地方是如何管理弃用过程的。在这种情况下,我可能只会在文件或资源的名称前面加上“弃用”前缀。但是,如果其他项目依赖于您的库,这可能不是一个好主意。
<?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>