Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Lint-如何隐藏警告';资源Xxx似乎未使用';_Android_Resources_Android Lint - Fatal编程技术网

Android Lint-如何隐藏警告';资源Xxx似乎未使用';

Android Lint-如何隐藏警告';资源Xxx似乎未使用';,android,resources,android-lint,Android,Resources,Android Lint,我想对某些特定资源禁用(新的)Android Lint警告“资源Xxx似乎未使用” <!-- Disable this given check in this project --> <issue id="IconMissingDensityFolder" severity="ignore" /> <!-- Ignore the ObsoleteLayoutParam issue in the given files --> <issue id="Ob

我想对某些特定资源禁用(新的)Android Lint警告“资源Xxx似乎未使用”

<!-- Disable this given check in this project -->
<issue id="IconMissingDensityFolder" severity="ignore" />

<!-- Ignore the ObsoleteLayoutParam issue in the given files -->
<issue id="ObsoleteLayoutParam">
    <ignore path="res/layout/activation.xml" />
    <ignore path="res/layout-xlarge/activation.xml" />
    <ignore regexp="(foo|bar).java" />
</issue>

<!-- Ignore the UselessLeaf issue in the given file -->
<issue id="UselessLeaf">
    <ignore path="res/layout/main.xml" />
</issue>

<!-- Change the severity of hardcoded strings to "error" -->
<issue id="HardcodedText" severity="error" /> </lint>
对于其他Lint警告,我能够利用Quick Assist,它显示了3种禁用警告的选择,其中一种是针对特定文件的

<!-- Disable this given check in this project -->
<issue id="IconMissingDensityFolder" severity="ignore" />

<!-- Ignore the ObsoleteLayoutParam issue in the given files -->
<issue id="ObsoleteLayoutParam">
    <ignore path="res/layout/activation.xml" />
    <ignore path="res/layout-xlarge/activation.xml" />
    <ignore regexp="(foo|bar).java" />
</issue>

<!-- Ignore the UselessLeaf issue in the given file -->
<issue id="UselessLeaf">
    <ignore path="res/layout/main.xml" />
</issue>

<!-- Change the severity of hardcoded strings to "error" -->
<issue id="HardcodedText" severity="error" /> </lint>
但是这个警告并没有显示任何快速帮助,它出现在Eclipse中,在一个文件(定义资源的文件)的顶部有一个通用的黄色警告颜色

<!-- Disable this given check in this project -->
<issue id="IconMissingDensityFolder" severity="ignore" />

<!-- Ignore the ObsoleteLayoutParam issue in the given files -->
<issue id="ObsoleteLayoutParam">
    <ignore path="res/layout/activation.xml" />
    <ignore path="res/layout-xlarge/activation.xml" />
    <ignore regexp="(foo|bar).java" />
</issue>

<!-- Ignore the UselessLeaf issue in the given file -->
<issue id="UselessLeaf">
    <ignore path="res/layout/main.xml" />
</issue>

<!-- Change the severity of hardcoded strings to "error" -->
<issue id="HardcodedText" severity="error" /> </lint>
我还尝试手动编辑lint.xml文件,如下所示:

<lint>
  <issue id="UnusedResources">
    <ignore path="res\layout\my_layout.xml" />
  </issue>
<lint>
<!-- Disable this given check in this project -->
<issue id="IconMissingDensityFolder" severity="ignore" />

<!-- Ignore the ObsoleteLayoutParam issue in the given files -->
<issue id="ObsoleteLayoutParam">
    <ignore path="res/layout/activation.xml" />
    <ignore path="res/layout-xlarge/activation.xml" />
    <ignore regexp="(foo|bar).java" />
</issue>

<!-- Ignore the UselessLeaf issue in the given file -->
<issue id="UselessLeaf">
    <ignore path="res/layout/main.xml" />
</issue>

<!-- Change the severity of hardcoded strings to "error" -->
<issue id="HardcodedText" severity="error" /> </lint>


但是运气不好(我从一个Android Lint引用中找到了id)。

我想你在找这个:

<!-- Disable this given check in this project -->
<issue id="IconMissingDensityFolder" severity="ignore" />

<!-- Ignore the ObsoleteLayoutParam issue in the given files -->
<issue id="ObsoleteLayoutParam">
    <ignore path="res/layout/activation.xml" />
    <ignore path="res/layout-xlarge/activation.xml" />
    <ignore regexp="(foo|bar).java" />
</issue>

<!-- Ignore the UselessLeaf issue in the given file -->
<issue id="UselessLeaf">
    <ignore path="res/layout/main.xml" />
</issue>

<!-- Change the severity of hardcoded strings to "error" -->
<issue id="HardcodedText" severity="error" /> </lint>
转到首选项->Android->林特错误检查

<!-- Disable this given check in this project -->
<issue id="IconMissingDensityFolder" severity="ignore" />

<!-- Ignore the ObsoleteLayoutParam issue in the given files -->
<issue id="ObsoleteLayoutParam">
    <ignore path="res/layout/activation.xml" />
    <ignore path="res/layout-xlarge/activation.xml" />
    <ignore regexp="(foo|bar).java" />
</issue>

<!-- Ignore the UselessLeaf issue in the given file -->
<issue id="UselessLeaf">
    <ignore path="res/layout/main.xml" />
</issue>

<!-- Change the severity of hardcoded strings to "error" -->
<issue id="HardcodedText" severity="error" /> </lint>
在那里,您可以了解信息的含义,如果需要, 关掉警报

<!-- Disable this given check in this project -->
<issue id="IconMissingDensityFolder" severity="ignore" />

<!-- Ignore the ObsoleteLayoutParam issue in the given files -->
<issue id="ObsoleteLayoutParam">
    <ignore path="res/layout/activation.xml" />
    <ignore path="res/layout-xlarge/activation.xml" />
    <ignore regexp="(foo|bar).java" />
</issue>

<!-- Ignore the UselessLeaf issue in the given file -->
<issue id="UselessLeaf">
    <ignore path="res/layout/main.xml" />
</issue>

<!-- Change the severity of hardcoded strings to "error" -->
<issue id="HardcodedText" severity="error" /> </lint>
类似的,你可以试试这个。使用此选项,您可以忽略特定文件夹中的警告。
我没有亲自测试过,因为我的情况不像你的情况那么严重,而且修复程序使用起来也很复杂。

我今天遇到了这个问题,发现这个页面非常有用。在“在XML中配置lint checking”一节中,介绍了如何忽略特定资源:

<!-- Disable this given check in this project -->
<issue id="IconMissingDensityFolder" severity="ignore" />

<!-- Ignore the ObsoleteLayoutParam issue in the given files -->
<issue id="ObsoleteLayoutParam">
    <ignore path="res/layout/activation.xml" />
    <ignore path="res/layout-xlarge/activation.xml" />
    <ignore regexp="(foo|bar).java" />
</issue>

<!-- Ignore the UselessLeaf issue in the given file -->
<issue id="UselessLeaf">
    <ignore path="res/layout/main.xml" />
</issue>

<!-- Change the severity of hardcoded strings to "error" -->
<issue id="HardcodedText" severity="error" /> </lint>
您可以使用
tools:ignore
属性禁用XML文件特定部分的lint检查。为了使lint工具能够识别此属性,XML文件中必须包含以下名称空间值:

<!-- Disable this given check in this project -->
<issue id="IconMissingDensityFolder" severity="ignore" />

<!-- Ignore the ObsoleteLayoutParam issue in the given files -->
<issue id="ObsoleteLayoutParam">
    <ignore path="res/layout/activation.xml" />
    <ignore path="res/layout-xlarge/activation.xml" />
    <ignore regexp="(foo|bar).java" />
</issue>

<!-- Ignore the UselessLeaf issue in the given file -->
<issue id="UselessLeaf">
    <ignore path="res/layout/main.xml" />
</issue>

<!-- Change the severity of hardcoded strings to "error" -->
<issue id="HardcodedText" severity="error" /> </lint>
命名空间xmlns:tools=”http://schemas.android.com/tools"

<!-- Disable this given check in this project -->
<issue id="IconMissingDensityFolder" severity="ignore" />

<!-- Ignore the ObsoleteLayoutParam issue in the given files -->
<issue id="ObsoleteLayoutParam">
    <ignore path="res/layout/activation.xml" />
    <ignore path="res/layout-xlarge/activation.xml" />
    <ignore regexp="(foo|bar).java" />
</issue>

<!-- Ignore the UselessLeaf issue in the given file -->
<issue id="UselessLeaf">
    <ignore path="res/layout/main.xml" />
</issue>

<!-- Change the severity of hardcoded strings to "error" -->
<issue id="HardcodedText" severity="error" /> </lint>

然后,您可以将
工具:ignore=“UnusedResources”
添加到要忽略的资源中。

下面是一个用于忽略特定ID警告的示例lint.xml文件。该文件应放在项目的应用程序文件夹中

<?xml version="1.0" encoding="UTF-8"?>
<lint>

    <!-- Ignore the UnusedResources issue for the given ids -->
    <issue id="UnusedResources">
        <ignore regexp="ga_trackingId|google_crash_reporting_api_key" />
    </issue>
</lint>
<!-- Disable this given check in this project -->
<issue id="IconMissingDensityFolder" severity="ignore" />

<!-- Ignore the ObsoleteLayoutParam issue in the given files -->
<issue id="ObsoleteLayoutParam">
    <ignore path="res/layout/activation.xml" />
    <ignore path="res/layout-xlarge/activation.xml" />
    <ignore regexp="(foo|bar).java" />
</issue>

<!-- Ignore the UselessLeaf issue in the given file -->
<issue id="UselessLeaf">
    <ignore path="res/layout/main.xml" />
</issue>

<!-- Change the severity of hardcoded strings to "error" -->
<issue id="HardcodedText" severity="error" /> </lint>

来自帮助:

<!-- Disable this given check in this project -->
<issue id="IconMissingDensityFolder" severity="ignore" />

<!-- Ignore the ObsoleteLayoutParam issue in the given files -->
<issue id="ObsoleteLayoutParam">
    <ignore path="res/layout/activation.xml" />
    <ignore path="res/layout-xlarge/activation.xml" />
    <ignore regexp="(foo|bar).java" />
</issue>

<!-- Ignore the UselessLeaf issue in the given file -->
<issue id="UselessLeaf">
    <ignore path="res/layout/main.xml" />
</issue>

<!-- Change the severity of hardcoded strings to "error" -->
<issue id="HardcodedText" severity="error" /> </lint>
抑制警告和错误可以在 多种方式:

<!-- Disable this given check in this project -->
<issue id="IconMissingDensityFolder" severity="ignore" />

<!-- Ignore the ObsoleteLayoutParam issue in the given files -->
<issue id="ObsoleteLayoutParam">
    <ignore path="res/layout/activation.xml" />
    <ignore path="res/layout-xlarge/activation.xml" />
    <ignore regexp="(foo|bar).java" />
</issue>

<!-- Ignore the UselessLeaf issue in the given file -->
<issue id="UselessLeaf">
    <ignore path="res/layout/main.xml" />
</issue>

<!-- Change the severity of hardcoded strings to "error" -->
<issue id="HardcodedText" severity="error" /> </lint>
  • 在Java代码中使用@SuppressLint注释
  • 使用工具:忽略XML文件中的属性
  • 在源代码中使用//noinspection注释
  • 使用build.gradle文件中指定的忽略标志,如下所述
  • 在项目中使用lint.xml配置文件
  • 通过--config标志将lint.xml配置文件传递给lint
  • 将--ignore标志传递给lint
  • 要抑制带有注释的林特警告,请添加 @类、方法或变量上的SuppressLint(“id”)注释 最接近要禁用的警告实例的声明。这个 id可以是一个或多个问题id,例如“未使用的资源”或 {“UnusedResources”、“UnusedIds”},也可以是“all”来抑制all 给定范围内的lint警告

    <!-- Disable this given check in this project -->
    <issue id="IconMissingDensityFolder" severity="ignore" />
    
    <!-- Ignore the ObsoleteLayoutParam issue in the given files -->
    <issue id="ObsoleteLayoutParam">
        <ignore path="res/layout/activation.xml" />
        <ignore path="res/layout-xlarge/activation.xml" />
        <ignore regexp="(foo|bar).java" />
    </issue>
    
    <!-- Ignore the UselessLeaf issue in the given file -->
    <issue id="UselessLeaf">
        <ignore path="res/layout/main.xml" />
    </issue>
    
    <!-- Change the severity of hardcoded strings to "error" -->
    <issue id="HardcodedText" severity="error" /> </lint>
    
    要抑制带有注释的lint警告,请添加//noinspection id 在语句前面的行上注释错误

    <!-- Disable this given check in this project -->
    <issue id="IconMissingDensityFolder" severity="ignore" />
    
    <!-- Ignore the ObsoleteLayoutParam issue in the given files -->
    <issue id="ObsoleteLayoutParam">
        <ignore path="res/layout/activation.xml" />
        <ignore path="res/layout-xlarge/activation.xml" />
        <ignore regexp="(foo|bar).java" />
    </issue>
    
    <!-- Ignore the UselessLeaf issue in the given file -->
    <issue id="UselessLeaf">
        <ignore path="res/layout/main.xml" />
    </issue>
    
    <!-- Change the severity of hardcoded strings to "error" -->
    <issue id="HardcodedText" severity="error" /> </lint>
    
    要抑制XML文件中的lint警告,请添加一个tools:ignore=“id” 包含错误的元素上的属性,或其 周围的元素。您还需要为 文档中根元素上的tools前缀,位于 xmlns:android声明: xmlns:tools=”http://schemas.android.com/tools"

    <!-- Disable this given check in this project -->
    <issue id="IconMissingDensityFolder" severity="ignore" />
    
    <!-- Ignore the ObsoleteLayoutParam issue in the given files -->
    <issue id="ObsoleteLayoutParam">
        <ignore path="res/layout/activation.xml" />
        <ignore path="res/layout-xlarge/activation.xml" />
        <ignore regexp="(foo|bar).java" />
    </issue>
    
    <!-- Ignore the UselessLeaf issue in the given file -->
    <issue id="UselessLeaf">
        <ignore path="res/layout/main.xml" />
    </issue>
    
    <!-- Change the severity of hardcoded strings to "error" -->
    <issue id="HardcodedText" severity="error" /> </lint>
    
    要抑制build.gradle文件中的lint警告,请添加一个类似 这:

    <!-- Disable this given check in this project -->
    <issue id="IconMissingDensityFolder" severity="ignore" />
    
    <!-- Ignore the ObsoleteLayoutParam issue in the given files -->
    <issue id="ObsoleteLayoutParam">
        <ignore path="res/layout/activation.xml" />
        <ignore path="res/layout-xlarge/activation.xml" />
        <ignore regexp="(foo|bar).java" />
    </issue>
    
    <!-- Ignore the UselessLeaf issue in the given file -->
    <issue id="UselessLeaf">
        <ignore path="res/layout/main.xml" />
    </issue>
    
    <!-- Change the severity of hardcoded strings to "error" -->
    <issue id="HardcodedText" severity="error" /> </lint>
    
    安卓{ 林特选项{ 禁用“TypographyFractions”和“TypographyQuotes” }}

    <!-- Disable this given check in this project -->
    <issue id="IconMissingDensityFolder" severity="ignore" />
    
    <!-- Ignore the ObsoleteLayoutParam issue in the given files -->
    <issue id="ObsoleteLayoutParam">
        <ignore path="res/layout/activation.xml" />
        <ignore path="res/layout-xlarge/activation.xml" />
        <ignore regexp="(foo|bar).java" />
    </issue>
    
    <!-- Ignore the UselessLeaf issue in the given file -->
    <issue id="UselessLeaf">
        <ignore path="res/layout/main.xml" />
    </issue>
    
    <!-- Change the severity of hardcoded strings to "error" -->
    <issue id="HardcodedText" severity="error" /> </lint>
    
    在这里,我们在禁用后指定问题id的逗号分隔列表 指挥部。您还可以使用警告或错误来代替禁用 更改问题的严重性

    <!-- Disable this given check in this project -->
    <issue id="IconMissingDensityFolder" severity="ignore" />
    
    <!-- Ignore the ObsoleteLayoutParam issue in the given files -->
    <issue id="ObsoleteLayoutParam">
        <ignore path="res/layout/activation.xml" />
        <ignore path="res/layout-xlarge/activation.xml" />
        <ignore regexp="(foo|bar).java" />
    </issue>
    
    <!-- Ignore the UselessLeaf issue in the given file -->
    <issue id="UselessLeaf">
        <ignore path="res/layout/main.xml" />
    </issue>
    
    <!-- Change the severity of hardcoded strings to "error" -->
    <issue id="HardcodedText" severity="error" /> </lint>
    
    要使用配置XML文件抑制lint警告,请创建一个文件 命名为lint.xml并将其放置在 这是适用的

    <!-- Disable this given check in this project -->
    <issue id="IconMissingDensityFolder" severity="ignore" />
    
    <!-- Ignore the ObsoleteLayoutParam issue in the given files -->
    <issue id="ObsoleteLayoutParam">
        <ignore path="res/layout/activation.xml" />
        <ignore path="res/layout-xlarge/activation.xml" />
        <ignore regexp="(foo|bar).java" />
    </issue>
    
    <!-- Ignore the UselessLeaf issue in the given file -->
    <issue id="UselessLeaf">
        <ignore path="res/layout/main.xml" />
    </issue>
    
    <!-- Change the severity of hardcoded strings to "error" -->
    <issue id="HardcodedText" severity="error" /> </lint>
    
    lint.xml文件的格式如下所示:

    <lint>
      <issue id="UnusedResources">
        <ignore path="res\layout\my_layout.xml" />
      </issue>
    <lint>
    
    <!-- Disable this given check in this project -->
    <issue id="IconMissingDensityFolder" severity="ignore" />
    
    <!-- Ignore the ObsoleteLayoutParam issue in the given files -->
    <issue id="ObsoleteLayoutParam">
        <ignore path="res/layout/activation.xml" />
        <ignore path="res/layout-xlarge/activation.xml" />
        <ignore regexp="(foo|bar).java" />
    </issue>
    
    <!-- Ignore the UselessLeaf issue in the given file -->
    <issue id="UselessLeaf">
        <ignore path="res/layout/main.xml" />
    </issue>
    
    <!-- Change the severity of hardcoded strings to "error" -->
    <issue id="HardcodedText" severity="error" /> </lint>
    

    <!-- Disable this given check in this project -->
    <issue id="IconMissingDensityFolder" severity="ignore" />
    
    <!-- Ignore the ObsoleteLayoutParam issue in the given files -->
    <issue id="ObsoleteLayoutParam">
        <ignore path="res/layout/activation.xml" />
        <ignore path="res/layout-xlarge/activation.xml" />
        <ignore regexp="(foo|bar).java" />
    </issue>
    
    <!-- Ignore the UselessLeaf issue in the given file -->
    <issue id="UselessLeaf">
        <ignore path="res/layout/main.xml" />
    </issue>
    
    <!-- Change the severity of hardcoded strings to "error" -->
    <issue id="HardcodedText" severity="error" /> </lint>
    
    
    
    要从命令行取消lint检查,请传递--ignore标志 以逗号分隔的ID列表将被抑制,例如:$lint --忽略未使用的资源,UselessLeaf/my/project/path

    <!-- Disable this given check in this project -->
    <issue id="IconMissingDensityFolder" severity="ignore" />
    
    <!-- Ignore the ObsoleteLayoutParam issue in the given files -->
    <issue id="ObsoleteLayoutParam">
        <ignore path="res/layout/activation.xml" />
        <ignore path="res/layout-xlarge/activation.xml" />
        <ignore regexp="(foo|bar).java" />
    </issue>
    
    <!-- Ignore the UselessLeaf issue in the given file -->
    <issue id="UselessLeaf">
        <ignore path="res/layout/main.xml" />
    </issue>
    
    <!-- Change the severity of hardcoded strings to "error" -->
    <issue id="HardcodedText" severity="error" /> </lint>
    
    有关详细信息,请参阅

    <!-- Disable this given check in this project -->
    <issue id="IconMissingDensityFolder" severity="ignore" />
    
    <!-- Ignore the ObsoleteLayoutParam issue in the given files -->
    <issue id="ObsoleteLayoutParam">
        <ignore path="res/layout/activation.xml" />
        <ignore path="res/layout-xlarge/activation.xml" />
        <ignore regexp="(foo|bar).java" />
    </issue>
    
    <!-- Ignore the UselessLeaf issue in the given file -->
    <issue id="UselessLeaf">
        <ignore path="res/layout/main.xml" />
    </issue>
    
    <!-- Change the severity of hardcoded strings to "error" -->
    <issue id="HardcodedText" severity="error" /> </lint>
    

    因此,在代码中使用
    @suppressint(“UnusedResources”)
    ,或者在XML中使用
    工具:ignore=“UnusedResources”

    为什么要禁用它?问题是为什么要忽略警告而不是修复它?请参阅。我昨天也有同样的问题。@WarrenFaith:我支持修正警告,而不是隐藏警告。但在本例中,我使用的是一个定制库,当然Lint不支持它。库使用资源的方式使Lint无法拾取资源,因此它会抱怨资源未被使用。我不希望Lint在短期内支持这个自定义库。@ManishGupta:正如我对Sander所说的,我想把这个警告作为一般规则。我只想为一个/一些资源禁用它。@WarrenFaith在某些情况下使用了资源,但Lint似乎没有禁用它,在我的情况下,我用来调用drawables的标识符是一个变量,我会这样做:resources.getIdentifier(“IdConstant$idVariablePart”,“drawable”,packageName))来构建资源id,其中idVariablePart总是在变化,所以我可以称为image_1,image_2。。。图片取决于我的需要。谢谢你的反馈,但正如我所说的,我想对一个特定的资源禁用该警告。我不想完全禁用它。啊,对不起,误读了。最近我看到了很多类似的问题,所以我只给出了一般性的答案。在这种情况下,恐怕我帮不了忙,我自己还没有经历过这个问题。不过,如果我发现了什么,我会告诉你。我不会说这很严重,只是很烦人:)但我认为我的问题与此密切相关
    <!-- Disable this given check in this project -->
    <issue id="IconMissingDensityFolder" severity="ignore" />
    
    <!-- Ignore the ObsoleteLayoutParam issue in the given files -->
    <issue id="ObsoleteLayoutParam">
        <ignore path="res/layout/activation.xml" />
        <ignore path="res/layout-xlarge/activation.xml" />
        <ignore regexp="(foo|bar).java" />
    </issue>
    
    <!-- Ignore the UselessLeaf issue in the given file -->
    <issue id="UselessLeaf">
        <ignore path="res/layout/main.xml" />
    </issue>
    
    <!-- Change the severity of hardcoded strings to "error" -->
    <issue id="HardcodedText" severity="error" /> </lint>