Android Lint ошибочно считает, что версия min SDK равна 1

Eclipse отказывается строить мой проект Android. В проводнике пакетов корневой узел проекта имеет маленький красный символ ошибки, но ничто другое внутри него не имеет этого символа. Вкладка проблемы показывает ошибки, обнаруженные Lint:

Call requires API level 3 (current min is 1): android.os.AsyncTask#<init>   
Call requires API level 3 (current min is 1): android.view.GestureDetector#<init>   
Call requires API level 3 (current min is 1): android.view.inputmethod.InputMethodManager#hideSoftInputFromWindow   
Call requires API level 3 (current min is 1): android.view.inputmethod.InputMethodManager#hideSoftInputFromWindow   
Call requires API level 3 (current min is 1): android.view.inputmethod.InputMethodManager#showSoftInput
Call requires API level 3 (current min is 1): android.view.inputmethod.InputMethodManager#showSoftInput
Call requires API level 3 (current min is 1): android.view.inputmethod.InputMethodManager#showSoftInput
Call requires API level 3 (current min is 1): android.view.inputmethod.InputMethodManager#toggleSoftInput
Call requires API level 3 (current min is 1): android.view.Menu#getItem 
Call requires API level 3 (current min is 1): android.view.Menu#getItem 
Call requires API level 3 (current min is 1): android.widget.HorizontalScrollView#getId 
Call requires API level 5 (current min is 1): android.app.Activity#onBackPressed    
Call requires API level 5 (current min is 1): android.app.Activity#onBackPressed    
Call requires API level 5 (current min is 1): android.app.Activity#onBackPressed    
Class requires API level 3 (current min is 1): android.view.inputmethod.InputMethodManager  
Class requires API level 3 (current min is 1): android.view.inputmethod.InputMethodManager  
Class requires API level 3 (current min is 1): android.view.inputmethod.InputMethodManager
Class requires API level 3 (current min is 1): android.view.inputmethod.InputMethodManager  
Class requires API level 3 (current min is 1): android.view.inputmethod.InputMethodManager  
Class requires API level 3 (current min is 1): android.view.inputmethod.InputMethodManager
Class requires API level 3 (current min is 1): android.widget.HorizontalScrollView
Class requires API level 3 (current min is 1): android.widget.HorizontalScrollView
Field requires API level 3 (current min is 1): android.os.Build#DISPLAY
Field requires API level 4 (current min is 1): android.content.res.Configuration#screenLayout   
Field requires API level 4 (current min is 1): android.os.Build#CPU_ABI 
Field requires API level 4 (current min is 1): android.os.Build#MANUFACTURER
Field requires API level 4 (current min is 1): android.os.Build$VERSION#SDK_INT

мое лучшее предположение, что Линт думает, что моя minSdkVersion равна 1, чего нет; мой манифест объявляет minSdkVersion="8". Я пробовал следующее, чтобы исправить это:

  • Перезапуск Eclipse
  • перезапуск моей компьютер!--10-->
  • Проект > Очистить
  • вручную удаления /bin и /gen чтобы заставить подол генерироваться снова

на данный момент у меня нет идей. У кого-нибудь есть предложения?

5 ответов


У меня такая же проблема, и мое решение такое:

щелкните правой кнопкой мыши на папке проекта > Android tools > Clear Lint Markers

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


"Clear Lint Markers" в принятом ответе временно удалил ошибку, но она продолжала возвращаться каждый раз, когда я сохранял файл в затронутом проекте.

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

Right click project -> Properties -> Android Lint Preferences

Search for "minSdk" in the search box

Click on "UsesMinSdkAttributes"

Click the "Ignore All" button at the bottom.

очистите и перестройте проект, и Eclipse / ADT больше не будет запускать проверку lint для minSdk в вашем проекте.


убедитесь, что у вас есть android: идентификатор пространства имен вместе с minSdkVersion со значением. Вот так:

android:minSdkVersion="8".

при создании проекта на основе некоторых образцов проектов Android (например, BluetoothChat) пространство имен опускается и путает Lint. Тогда даже очистка маркеров корпии действительно не устраняет проблему, поскольку они появляются после запуска корпии снова, что происходит автоматически довольно часто.

Примечание: это был проверен с образцами ревизии 1 для API16


попробуйте щелкнуть правой кнопкой мыши по папке проекта > Android tools > fix properties

вы также должны проверить в свойствах сборки, что все ваши Android библиотеки и вещи проверяются и загружаются в правильном порядке. Щелкните правой кнопкой мыши проект > свойства > построить


простой -1-- > Очистить также исправлена проблема для меня.