我想针对某些特定资源禁用(新)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 )。
答案 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错误 各种方式:
- 使用Java代码中的@SuppressLint批注
- 使用工具:忽略XML文件中的属性
- 在源代码中使用// noinspection注释
- 使用build.gradle文件中指定的忽略标志,如下所述
- 使用项目中的lint.xml配置文件
- 将lint.xml配置文件通过--config标志传递给lint
- 将--ignore标志传递给lint。
醇>要使用注释抑制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"
。