Eclipse中的lint for android会产生错误的结果

时间:2012-03-24 11:33:24

标签: android eclipse android-lint

如果我跑“lint”。在项目目录中我得到了预期的警告,但如果我从eclipse中运行它,我会得到无意义的错误和警告,例如:

  • 资源R.array.settings_derivatives似乎未使用[事实上,它被使用]
  • x.y.z未在清单中注册[事实上,已注册]
  • 调用需要API级别3(当前最小值为1):android.view.SurfaceView#isInEditMode [实际上minSdkVersion设置为7]

编辑:如果我创建新工作区并导入现有项目,我会得到正确的错误

4 个答案:

答案 0 :(得分:3)

通过将工作空间切换到新的工作空间来解决问题。这可能是以前lint版本遗留下来的设置的问题

答案 1 :(得分:3)

当项目目录不直接位于工作区目录下时,似乎存在问题。

截至今天,错误应该在第20版中修复: http://code.google.com/p/android/issues/detail?id=27527

编辑:

如有必要,您可以在工作区中建立软链接。

答案 2 :(得分:0)

我用这个解决了同样的问题: -

右键单击项目文件夹> Android工具>清除链接标记

“运行Android Lint”会生成一些标记,并且标记会导致此错误。

答案 3 :(得分:-1)

“首选项 - > Android - > Lint错误检查”,搜索问题“NewApi”,您可以看到设置。

  

此检查会扫描应用程序中的所有Android API调用,并警告此应用程序所针对的所有版本上未提供的任何调用(根据清单中的最小SDK属性)。

     

如果你的代码故意访问更新的API,并且你已经确保(例如通过条件执行)只能在支持的平台上调用此代码,那么你可以注释你的类或方法使用@TargetApi