Erreur d'analyse de code (préfixe d'espace de noms inattendu) après la mise à niveau de la bibliothèque de support Android 23.2.0

J'ai été mis à niveau vers Android Support Library 23.2.0 et ajouté

vectorDrawables.useSupportLibrary = true 

À mon build.gradle, de sorte que j'ai un support vectoriel dessiné pour apis inférieur à 21. (Voir ici pour plus de détails).

  • Android: Dois-je respecter isLimitAdTrackingEnabled ()?
  • Realm, RxJava, asObservable () et doOnUnsubscribe ()
  • Android Camera Intent: comment obtenir une photo pleine grandeur?
  • Comment afficher une activité transparente sur une autre activité sans supprimer l'activité précédente
  • Android: EditText et Button; Lorsque vous cliquez sur le bouton, déconseillez EditText et cachez le clavier doux?
  • Android Studio / Gradle ne trouve pas de ressources AppCompat pour les tests
  • J'ai également remplacé

     android:src="@drawable/ic_create_black_24dp" 

    avec

     app:srcCompat="@drawable/ic_create_black_24dp" 

    Dans chaque Imageview qui utilise des jeux vectoriels.

    L'application compile et fonctionne parfaitement, mais les rapports d'analyse de code:

    Erreur: (56, 9) Préfixe d'espace de noms inattendu "application" trouvé pour l'étiquette ImageView

    pourquoi est-ce le cas? Pourquoi compile-t-il bien que je reçois des erreurs?

    EDIT: J'ai ajouté

     xmlns:app="http://schemas.android.com/apk/res-auto" 

    Dans ma disposition racine.

  • Ajout d'un bouton Google +1 dans une application Android
  • Impression de titre de barre d'action Android
  • Vidéo codée à partir de la séquence d'images de java android
  • Télécharger la vidéo sur Twitter
  • Définir le bouton Android invisible mais toujours avoir un OnClick Listener attaché
  • Style personnalisé pour la barre d'action empilée?
  • 5 Solutions collect form web for “Erreur d'analyse de code (préfixe d'espace de noms inattendu) après la mise à niveau de la bibliothèque de support Android 23.2.0”

    Lint, l'outil d'analyse de code d'Android, ne semble pas encore savoir sur le support vectoriel drawables. Vous pouvez ignorer sans risque l'erreur en ajoutant des tools:ignore="MissingPrefix" sur la balise ImageView .

    Vous voyez cette erreur, car ImageView original n'a pas l'attribut srcCompat. Cet attribut est utilisé uniquement par AppCompatImageView, qui est injecté au lieu d'ImageView que vous avez déclaré. Cette erreur est facile à repérer lors de l'utilisation de chargeurs de vue surchargés. Lint effectue une analyse statique et ne connaît pas les hacks que vous pouvez faire avec xml à partir du code.

    Change ImageView sur android.support.v7.widget.AppCompatImageView dans votre XML

    Besoin d'ajouter ceci à la mise en page principale:

     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" 

    Ajoutez xmlns:app="schemas.android.com/apk/res-auto" tant qu'attribut soit à votre ImageView soit à l'Étiquette de Top-Level LinearLayout comme 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"/> 

    Ou dans la disposition des parents

     <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" xmlns:app="http://schemas.android.com/apk/res-auto"/> 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.