Pages

mercredi 19 septembre 2012

Lint analyse de code d’une application Android

Le SDK Android est fourni avec un outil d’analyse statique du code afin de détecter les bugs potentiels et de proposer des améliorations possibles selon plusieurs axes : sécurité, usabilité, exactitude du code, accessibilité, internationalisation et performance. 

Chaque problème relevé par l’outil est identifié par un niveau de sévérité et un message et les différentes règles d’analyse peuvent être modifiées ou enrichies

L’intégration avec les IDE comme Eclipse et IntelliJ est disponible et vous pouvez lancer l’analyse également en ligne de commande. Nous allons nous intéressé à l’intégration de l’outil dans Eclipse

Paramétrage de Lint

Les options de Lint et le niveau de sévérité des règles sont modifiables dans les préférences Eclipse (Window > Preferences > Android > Lint Error Checking) ou dans les propriétés d’un seul projet


Lancement de l’analyse

Par défaut Lint se lance automatiquement à chaque enregistrement des fichiers d’une application Android et avant chaque export de cette dernière (debuggage ou exécution). On peut aussi le lancer manuellement à l’aide de la barre de bouton

Le résultat de l’analyse apparaîtra dans une fenêtre spécifique

La barre de menu permet de faciliter la gestion de l’erreur

La petite lampe est par exemple allumée si une correction automatique est possible

Vous pouvez également utiliser les raccourcis pour désactiver une règle pour tous les projets, le projet, le fichier, ou seulement cette erreur


Ignorer une alerte
Rien de plus simple pour ignorer une erreur
Prenons un premier exemple dans un ficher xml
 

Si vous voulez ignorer cette erreur repérer là dans la liste et cliquez sur le bouton 
Un fichier lint.xml sera ajouté à votre projet et il aura le contenu suivant
<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <issue id="HardcodedText">
        <ignore path="res\layout\addmatch.xml" />
    </issue>

</lint>


Au niveau code Java, prenons l’exemple d’une fonctionnalité ajoutée dans une version de l’API plus récente que celle déclarée dans votre AndroidManifest

Le menu contextuel vous propose d’ajouter l’annotation @SuppressLint pour ne pas lever d’alerte sur ce code.




Aucun commentaire:

Enregistrer un commentaire

Remarque : Seul un membre de ce blog est autorisé à enregistrer un commentaire.