【发布时间】:2012-03-24 11:33:24
【问题描述】:
如果我运行“lint”。在项目目录中,我得到了预期的警告,但是如果我从 eclipse 内部运行它,我会得到无意义的错误和警告,例如:
- 资源 R.array.settings_derivatives 似乎未使用[实际上已使用]
- manifest中没有注册x.y.z[其实是注册了]
- 调用需要 API 级别 3(当前最小值为 1):android.view.SurfaceView#isInEditMode [实际上 minSdkVersion 设置为 7]
编辑:如果我创建一个新工作区并导入现有项目,我会得到正确的错误
【问题讨论】:
-
Call requires API level 3 是真的。这与您的目标级别无关,而是与引入该方法的“自 API 3 以来”有关。您可能可以关闭该警告 - 只有当您想将您的应用程序移植到您当前拥有的较低最低级别时才有意义
-
这是真的,但它不应该被报告,因为我已经将 minSdkVersion 设置为 7。而且它不是作为警告报告,而是作为错误报告......我的观点是命令行工具给出不同的 [正确] 结果
-
首先,确保您使用的是最新的工具 (R17) 和相应的 Eclipse 插件。如果问题仍然存在,则创建一个重现问题的示例项目,然后向b.android.com 提交错误报告。我以前从未见过这些特定消息。
-
最新工具和 Eclipse 插件。将尝试在一个较小的项目上重现
-
你是对的 - 我误解了检查的错误/目的。试试
Project > Clean..,这可能有助于解决问题。顺便说一句:我对isInEditMode没有任何警告。如果您的项目中存在其他错误(例如清单中的非法 xml 语法),这些警告/错误检查器经常会感到困惑。
标签: android eclipse android-lint