Error de código de análisis (prefijo de espacio de nombres inesperado) después de actualizar Android Support Library 23.2.0
He actualizado a Android Support Library 23.2.0 y agregado
vectorDrawables.useSupportLibrary = true
a mi build.gradle, por lo que tengo soporte vectorial desplegable para apis inferior a 21. (Vea aquí para más detalles).
- Android ¿Cuál es la diferencia entre Android Support Repository vs Android Support Library vs Repositorio de Google vs Google Play Services
- Error después de actualizar la AppCompat de Android.Support Library v7 a la versión 21.0.3
- SetSupportProgressBarIndeterminateVisibility que genera java.lang.NullPointerException cuando se utiliza con Android 5.0 SDK (API 21)
- NoClassDefFoundError con Android Support Library y Maven
- Establecer color de borde para FloatingActionButton en la biblioteca de soporte
También reemplazé
android:src="@drawable/ic_create_black_24dp"
con
app:srcCompat="@drawable/ic_create_black_24dp"
en todas las vistas de imagen que utilice dibujos vectoriales.
La aplicación compila y funciona perfectamente bien, pero los informes de análisis de código:
Error: (56, 9) Prefijo de espacio de nombres inesperado "app" encontrado para la etiqueta
ImageView
¿Por qué es este el caso? ¿Por qué está compilando aunque estoy recibiendo errores?
EDIT: He añadido
xmlns:app="http://schemas.android.com/apk/res-auto"
en mi diseño de raíz.
- Configuración del fondo de Android y la barra de menús de persistencia - El uso de atributos en las versiones anteriores causa un fallo - ¿Existe un enfoque de tema / patrón?
- No se puede crear la compilación de la versión tras actualizar los servicios de reproducción a 8.3.0
- PreferenceFragmentCompat requiere la preferenciaTheme ser fijado
- SearchView getActionView devolver null
- Travis CI Android - No encuentra la versión que coincide
- Visualizador de pdf androide con paginación vertical
- Cómo cambiar el color de TabIndicater en PagerTabStrip
- Ocultar el número de teléfono entrante mediante una función de marcación personalizada
Lint, la herramienta de análisis de código de Android, no parece saber sobre el soporte de dibujos vectoriales, todavía. Puede ignorar el error con seguridad añadiendo tools:ignore="MissingPrefix"
a la etiqueta ImageView
.
Está viendo este error, porque ImageView original no tiene el atributo srcCompat. Este atributo es utilizado sólo por AppCompatImageView, que se inyecta en lugar de ImageView que declaró. Este error es fácil de detectar cuando se utilizan sobrecargados. Lint realiza el análisis estático y no sabe acerca de hacks que puede hacer con xml de código.
Cambiar ImageView a android.support.v7.widget.AppCompatImageView en su XML
Necesidad de agregar esto a la disposición superior del padre:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"
Agregue xmlns:app="schemas.android.com/apk/res-auto"
como atributo a su ImageView
oa la etiqueta de Top-Level
como LinearLayout
, CoordinatorLayout
, RelativeLayout
, etc.
<ImageView android:layout_width="match_parent" android:layout_height="match_parent" app:srcCompat="@drawable/ic_create_black_24dp" xmlns:app="http://schemas.android.com/apk/res-auto"/>
o en el diseño de los padres
<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" xmlns:app="http://schemas.android.com/apk/res-auto"/>
- Detener evento táctil de ser interceptado por ViewPager si hay evento táctil en la vista web
- FirebaseUI autenticación con Facebook no funciona