Lint для Android в Eclipse дает неверные результаты

Если я бегу "пух". внутри каталога проекта я получаю ожидаемые предупреждения, но если я запускаю его из затмения, я получаю бессмысленные ошибки и предупреждения, например:

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

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

4 ответа

Решение

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

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

Редактировать:

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

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

Я решил ту же проблему, используя это:-

Щелкните правой кнопкой мыши папку проекта> Инструменты Android> Очистить маркеры ссылок.

"Запуск Android Lint" делает некоторые маркеры, и маркеры вызывают эту ошибку.

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

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

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

Другие вопросы по тегам