Android Lint piensa erróneamente que la versión min SDK es 1
Eclipse se niega a construir mi proyecto de Android. En el explorador de paquetes, el nodo raíz del proyecto tiene el pequeño símbolo de error rojo, pero nada más dentro de él tiene este símbolo. La pestaña Problemas muestra los errores detectados por 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
Mi mejor conjetura es que Lint piensa que mi minSdkVersion es 1, que no es; Mi manifiesto declara minSdkVersion="8"
. He intentado lo siguiente en un esfuerzo por arreglar esto:
- Eclipse - parseSdkContent falló el error - no reconoce archivos XML
- Android appcompat v7 - importado con un error
- Error de xml de Android: "Ningún recurso encontrado que coincida con el nombre dado" con RelativeLayout (@ id / LinearLayout_acc, @ id / ProgressBar_statusScreen)
- biblioteca de materiales de apoyo, no puede encontrar Cardview / Recycleview
- Dispositivo virtual Android 4.3 CPU / ABI - No se instalaron imágenes del sistema (eclipse)
- Reinicio de Eclipse
- Reiniciar mi computadora
- Proyecto> Limpieza
- Eliminar manualmente
/bin
y/gen
para forzar el dobladillo a generar de nuevo
En este punto estoy sin ideas. ¿Alguien tiene sugerencias?
- AndroidPocketSphinx: ruta de construcción contiene la entrada duplicada: 'src' para el proyecto
- ¿Por qué no se actualizan mis archivos de activos?
- ADT 20 Configuración de la altura / ancho del diseño en la lista de propiedades
- Comenzando en una nueva línea en el emulador (proyecto Android Eclipse)
- El emulador de Android se descargó por completo - ejecutando el comando de energía de telnet bloqueando el Emulador
- ¿Por qué no veo variables locales al depurar en Eclipse?
- AVD se inicia cada vez que ejecuto un proyecto de Android
- Eclipse aún ejecuta el proyecto por nombre antiguo
Tengo el mismo problema, y mi solución es:
Haga clic con el botón derecho del ratón en la carpeta del proyecto> Herramientas de Android> Borrar marcadores de Lint
"Run Android Lint" hace que algunos marcadores y los marcadores causen este error.
"Clear Lint Markers" en la Respuesta Aceptada eliminó el error temporalmente, pero seguía volviendo cada vez que guardaba un archivo en el proyecto afectado.
Para que dejara de reportar ese error, tuve que deshabilitar el chequeo de pelusa por completo:
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.
Limpie y reconstruya el proyecto, y Eclipse / ADT ya no ejecutará la verificación de pelusa para minSdk en su proyecto.
Asegúrese de que tiene el identificador de espacio de nombres android: junto con el atributo minSdkVersion . Me gusta esto:
android:minSdkVersion="8"
.
Al crear un proyecto basado en algunos proyectos de muestra de Android (como BluetoothChat) el espacio de nombres se omite y confunde Lint. Entonces, incluso el borrado de los marcadores de Lint no cura realmente el problema, ya que reaparecen después de ejecutar Lint nuevamente, lo que sucede automáticamente bastante a menudo.
Nota: esto se verificó con las muestras de revisión 1 para API16
Prueba a hacer clic con el botón derecho en la carpeta del proyecto> Herramientas de Android> fijar propiedades
También debe comprobar en las propiedades de construcción que todas las bibliotecas de Android y las cosas se comprueban y cargan en el orden correcto. Haga clic derecho en el proyecto> Propiedades> Construir
Un proyecto simple -> Limpio también arregló el problema para mí.
- Android 4.2 rompió mi código de cifrado / descifrado y las soluciones proporcionadas no funcionan
- Intención para obtener múltiples imágenes