2017-03-13 2 views
14

Dans Android studio il y a la configuration de lint.xml et ./idea/inspectionProfiles/.xml gérable via Réglages => Editeur => Inspections. Je comprends lint.xml est utilisé par l'outil de ligne de commande lint et le profil d'inspection est utilisé par Android Studio IDE.Contexte du profil lint.xml et l'inspection

La documentation officielle est here. J'ai également trouvé ce poste How is lint integrated with IntelliJ inspections in Android Studio? et ce poste Android lint on command-line missing issue groups (versus options available in Android Studio).

This answer a un bon exemple de bloc lintOptions {} dans build.gradle.

Cependant, certaines informations sont manquantes.

  1. Les numéros et les noms des règles sont-ils identiques?
  2. Existe-t-il un moyen (simple) de convertir le profil d'inspection en lint.xml et vice versa?
  3. Sont-ils complètement séparés ou y a-t-il des cas où l'un est inclus dans l'autre?
  4. Laquelle est exécutée en dehors des cas indiqués ci-dessus (par exemple analyse sur validation)?

Répondre

2

Jusqu'à présent, je peux résumer mes recherches.

1.) Le profil d'inspection étend lint.xml, de sorte que le nombre de règles lint.xml est inférieur au nombre de règles de profil d'inspection. Le jeu de règles actuel lint.xml peut être trouvé here.

2.) Lorsque vous avez défini un lint.xml, dans votre Android Studio, vous pouvez aller à File => Paramètres => Editeur => Inspections et utiliser le Manage => menu déroulant Importer vers votre peluches. xml. Ceci mettra toutes les règles en dehors de lint.xml à désactiver.

Je ne connais aucun moyen de convertir de InspectionProfile en lint.xml.

3.) Voir 1.), Profil d'inspection étend lint.xml. 4.12 Comme le profil d'inspection est utilisé localement et dans Android Studio, il est exécuté pendant l'exécution dans l'éditeur et lors de la validation lorsque l'analyse est vérifiée. Votre fichier lint.xml est généralement situé dans la racine du projet et soumis dans SVN/GIT. Ensuite, votre serveur de configuration (Jenkins, QuickBuild, etc.) peut avoir une tâche désignée pour exécuter ce fichier lint.xml et traiter sa sortie.

supplémentaires, des choses utiles:

  • Vous pouvez exécuter peluches gradlew du terminal dans Android Studio. Il créera une page html à /build/outputs/lint-results-debug.html ou à n'importe quelle position de fichier spécifiée.
  • Lorsque vous ouvrez un fichier lint.xml dans votre éditeur Android Studio, une aide importante est fournie pour les règles. Néanmoins, il semble y avoir une lacune dans les jeux de règles, comme par ex. Convert2Lambda est dans l'exemple lint.xml, mais pas dans le official documentation.

  • Malgré cela, il est généralement une mauvaise idée de mettre ./idea sous contrôle de version, pour l'équipe distibution vous pouvez soumettre votre profil d'inspection à /.idea/inspectionProfiles/MyInspectionProfile.xml et de mettre tous les fichiers à l'intérieur /.idea sur ignore. Il y a un article sur ce sujet que je ne trouve plus, mais cette solution fonctionne comme un charme pour mon équipe.