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

时间:2011-12-21 09:19:33

标签: android resources android-lint

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

对于其他Lint警告,我能够利用快速助手,其中显示了3个禁用警告的选项,其中一个用于该特定文件。

但是这个警告没有显示任何快速助手,它出现在Eclipse中,文件顶部有一般黄色警告颜色(定义资源的颜色)。

我还尝试手动编辑lint.xml文件,如下所示:

<lint>
  <issue id="UnusedResources">
    <ignore path="res\layout\my_layout.xml" />
  </issue>
<lint>

但没有运气(我从Android Lint参考here中选择了 id )。

5 个答案:

答案 0 :(得分:22)

我今天遇到了这个问题,发现Improving Your Code with lint页面非常有用。在“在XML中配置lint检查”部分中,它描述了如何忽略特定资源:

  

您可以使用tools:ignore属性禁用XML文件特定部分的lint检查。为了使lint工具能够识别此属性,XML文件中必须包含以下命名空间值:

     
    

namespace xmlns:tools =“http://schemas.android.com/tools”

  

然后,您可以将tools:ignore="UnusedResources"添加到要忽略的资源中。

答案 1 :(得分:17)

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

<?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>

答案 2 :(得分:3)

我认为你正在寻找这个:

  

转到首选项 - &gt; Android - &gt; Lint错误检查

     

在那里,您可以阅读该消息的含义,如果需要,   关掉警告。

答案 3 :(得分:1)

this question类似,您可以尝试bugfix。使用此功能,您可以忽略特定文件夹中的警告。 我自己没有测试过,因为我的情况并不像你的情况那么严重,因为错误修复似乎也很复杂。

答案 4 :(得分:1)

来自帮助:

  

抑制警告和错误可以在a中抑制Lint错误   各种方式:

     
      
  1. 使用Java代码中的@SuppressLint批注
  2.   
  3. 使用工具:忽略XML文件中的属性
  4.   
  5. 在源代码中使用// noinspection注释
  6.   
  7. 使用build.gradle文件中指定的忽略标志,如下所述
  8.   
  9. 使用项目中的lint.xml配置文件
  10.   
  11. 将lint.xml配置文件通过--config标志传递给lint
  12.   
  13. 将--ignore标志传递给lint。
  14.         

    要使用注释抑制lint警告,请添加   关于类,方法或变量的@SuppressLint(“id”)注释   最接近要禁用的警告实例的声明。该   id可以是一个或多个问题ID,例如“UnusedResources”或   {“UnusedResources”,“UnusedIds”},或者它可以是“all”来压制所有   在给定范围内的lint警告。

         

    要使用注释抑制lint警告,请添加// noinspection id   在带有错误的语句之前对该行进行注释。

         

    要抑制XML文件中的lint警告,请添加工具:ignore =“id”   包含错误的元素或其中一个的属性   周围的元素。您还需要为其定义命名空间   工具前缀在文档的根元素上,旁边是   xmlns:android声明:   的xmlns:工具= “http://schemas.android.com/tools”

         

    要在build.gradle文件中禁止lint警告,请添加类似的部分   这样:

         

    android {       lintOptions {           禁用'TypographyFractions','TypographyQuotes'       }}

         

    这里我们在禁用后指定以逗号分隔的问题ID列表   命令。您也可以使用警告或错误而不是禁用   改变问题的严重性。

         

    要使用配置XML文件抑制lint警告,请创建一个文件   命名为lint.xml并将其放在模块的根目录中   它适用。

         

    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检查,请传递--ignore标志   使用逗号分隔的ID列表进行抑制,例如:$ lint   --ignore UnusedResources,UselessLeaf / my / project / path

         

    有关详细信息,请参阅   http://g.co/androidstudio/suppressing-lint-warnings

因此,在代码中使用@SuppressLint("UnusedResources")或在XML中使用tools:ignore="UnusedResources"