2012-03-24 3 views
9

Если я запустил «lint». внутри директории проекта я получить ожидаемые предупреждения, но если я запускаю его изнутри затмения я получаю ошибки и предупреждения нонсенс, например:Lint для android in Eclipse дает неправильные результаты

  • Ресурс R.array.settings_derivatives, как представляется, не используется [на самом деле, это б]
  • хуг не зарегистрирован в манифест [на самом деле, он зарегистрирован]
  • Вызов требует уровень API 3 (ток мин равен 1): android.view.SurfaceView # isInEditMode [на самом деле minSdkVersion установлен в 7]

Редактировать: Если я создаю новое рабочее пространство и импортирую существующие проекты, я получаю правильные ошибки

+0

[Для вызова требуется уровень API 3] (http://developer.android.com/reference/android/view/View.html#isInEditMode%28%29) является истинным. Речь идет не о вашем целевом уровне, а о «начиная с API 3», где был введен этот метод. Вероятно, вы можете отключить это предупреждение - это имеет смысл, если вы хотите перенести приложение на более низкий минимальный уровень, который у вас есть в настоящее время – zapl

+0

Это правда, но его не следует сообщать, так как я установил minSdkVersion в 7. И он не сообщается как предупреждение, скорее, как ошибка ... И я хочу сказать, что инструмент командной строки дает другой [правильный] результат – miniBill

+0

Сначала убедитесь, что вы находитесь на последних инструментах (R17) и соответствующем Eclipse плагин. Если проблемы сохраняются, создайте образец проекта, который воспроизводит проблему, а затем отправьте отчет об ошибке на сайт http://b.android.com. Я не видел таких сообщений раньше. – CommonsWare

ответ

3

Возможно, возникла проблема, когда каталог проекта не находится непосредственно под каталогом рабочей области.

На сегодняшний день эта ошибка должна быть исправлена ​​в версии 20: http://code.google.com/p/android/issues/detail?id=27527

Edit:

В случае необходимости вы можете сделать в мягкой ссылке рабочей области.

3

Проблема была решена путем переключения рабочего пространства на новое. Вероятно, это была проблема с настройками, оставшимися после предыдущих версий линта.

-1

«Предпочтение -> Android -> Проверка ошибок Lint», поиск проблем «NewApi», и вы можете увидеть настройки.

Эта проверка просматривает все Android вызовов API в приложении и предупреждает о любых вызовах, которые не доступны на всех версий целевых этим приложением (в соответствии с его минимальным атрибутом SDK в манифесте).

Если ваш код преднамеренно доступа новые API-интерфейсы, и вы обеспечили (например, с помощью условного исполнения), что этот код будет только когда-либо быть вызван на поддерживаемой платформе, то вы можете аннотировать класс или метод с @TargetApi

+1

Я знаю, что означает предупреждение. Дело в том, что предупреждения не должно быть! – miniBill

0

я решил такую ​​же проблему с помощью этого: -

правой кнопкой мыши на папке проекта> Android инструменты> Clear Link Маркеры

«Run Android Lint» делает некоторые маркеры и маркеры вызвать эту ошибку.

 Смежные вопросы

  • Нет связанных вопросов^_^