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 библиотеки и вещи проверяются и загружаются в правильном порядке. Щелкните правой кнопкой мыши проект > свойства > построить