【发布时间】:2012-12-07 16:56:18
【问题描述】:
我在 Eclipse 中有一个多模块 Maven Android 项目。
父模块显示属于仪器测试模块的 Android Lint 错误。模块本身没有显示这些错误。父模块本身不是Android项目(不具备Android性质)
(Lint 抱怨我项目的 api 级别太低: 调用需要 API 级别 3(当前最小值为 1): )
什么可能导致问题?我以前从未在父模块上看到子模块的错误。
【问题讨论】:
我在 Eclipse 中有一个多模块 Maven Android 项目。
父模块显示属于仪器测试模块的 Android Lint 错误。模块本身没有显示这些错误。父模块本身不是Android项目(不具备Android性质)
(Lint 抱怨我项目的 api 级别太低: 调用需要 API 级别 3(当前最小值为 1): )
什么可能导致问题?我以前从未在父模块上看到子模块的错误。
【问题讨论】:
我自己找到了解决方案。
原因:我对我的项目和 Eclipse 中的模块进行了一些重命名。
Android Lint 似乎将警告/错误存储在一些持久性数据库/文件中。使用重命名重构时,Eclipse 并不知道 Lint hat 为项目存储了一些警告,或者看起来如此。
重命名更改了项目名称,最终父项目获得了以前是应用程序模块的名称。不知何故,Android Lint 一定会感到困惑(我也是)。
解决方案:为了解决这个问题,我手动将 Android Nature 添加到我的父项目中(通过编辑 .project)。然后我使用 Android 工具删除了 Lint 警告。最后我再次删除了 Android Nature。
警告没有回来。
【讨论】:
我遇到了问题,lint 将 80% 的布局和字符串标记为未使用。 需要 3 个小时来修复它..
lint 的问题是我的一个班级中有一个带有 ß 的字符串(我逐步添加了所有班级,并且每次都检查 lint...)
String Eiweiß = new String(e.getString(e.getColumnIndex("Eiweiß")));
到
String Eiweis = new String(e.getString(e.getColumnIndex("Eiweiß")));
一定是个 lint bug...真气
希望这对任何人都有帮助;)
【讨论】:
Lint 是静态分析器工具,它会针对代码中存在的一些异常情况向您显示警告。它们有时可能不正确/不相关。
为避免这种情况,您可以右键单击项目 -> 修复项目 -> 忽略 lint 错误
【讨论】: