Подтвердить что ты не робот

Android Lint ошибочно думает, что версия для SDK - 1

Eclipse отказывается строить мой Android-проект. В проводнике пакетов корень проекта node имеет маленький красный символ ошибки, но ничто другое внутри него не имеет этого символа. На вкладке "Проблемы" отображаются ошибки, обнаруженные 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
  • Перезагрузка моего компьютера.
  • Проект > Очистка
  • Вручную удалять /bin и /gen, чтобы снова создать сгенерированный фронт.

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

"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 в вашем проекте.

Ответ 3

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

android:minSdkVersion="8".

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

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

Ответ 4

Попробуйте щелкнуть правой кнопкой мыши по папке проектa > инструменты Android > исправить свойства

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

Ответ 5

Простой Проект → Очистить также исправил проблему для меня.