Android tools -----Lint

Lint

 

Android lint工具是一个静态代码分析工具,检查你的Android项目源文件潜在的bug,并优化改进,确保正确性、安全性、性能、可用性、可访问性和国际化。

 

通过lint优化代码:

除了测试你的Android应用程序满足其功能需求,重要的是要确保你的代码没有结构性问题。代码结构简陋的可靠性和效率的影响你的Android应用程序,使您的代码很难维护。例如,如果您的XML资源文件包含未使用的名称空间,这占用空间并产生不必要的处理。其他的结构性问题,比如使用弃用元素或API调用所不支持的目标API版本,可能会导致代码未能正确地运行。

 

概述

Android SDK提供了一个代码扫描工具,称为lint。可以帮助您轻松地识别并纠正问题与结构质量的代码,不必执行应用程序或编写任何测试用例。每个问题检测到该工具报告的一个描述消息和严重性级别,您可以快速地优先考虑的关键改进。您还可以配置一个问题的严重性级别,忽略不相关的问题,或提高的严重程度。这个工具有一个命令行接口,所以您可以很容易地集成到您的自动化测试过程。

 

Lint 工具可以检查你android工程潜在的bug和优化改进,以确保正确性、安全性、性能、可用性、可访问性和国际性。您可以从命令行运行lint,或eclipse中运行lint

 

1显示了如何使用lint工具处理工程中的源代码

 

图1 通过lint 工具扫描

源代码:

源文件,整个droid项目,javaXML文件,图片和混淆器配置文件。

lint.xml 文件:

lint 配置文件,用它来指定任何lint检查,你想排除和定制问题严重级别。

lint 检查的结果:

可以从控制台或者是eclipse的视图中查看结果。包含这个每个问题的表述和源文件发生的位置。

 

在eclipse中运行lint

l       导出一个APK

l       编辑和保存一个XML源文件在你的Android项目(比如清单或布局文件)

l       eclipse中更改布局文件(使用布局编辑器在Eclipse中进行更改)

 

 

注意,当导出一个APKlint工具只自动检查程序中致命的错误。如果发现致命的错误,导出APK将会终止。你可以关掉lint自动错误检查,在eclipse的选项中。

 

 

输出结果显示在lint的警告视图中。如果lint警告视图没有显示在workbench中。你可以把它从eclipse的菜单中拖出来。

Window>Show wiew>Other>Android>Lintwarings

 

2 lint wargings 输出的例子

 

 

您还可以手动运行lint扫描在你的Android项目,在Eclipse中通过右键单击项目文件夹,Package Explorer Explorer>Android Tools> Android lint: check for common Errors

 

通过命令行运行lint

运行lint命令,检查工程中的问题

lint [flags]

 

例如:你可以执行一个命令,只扫描工程及子目录的中文件的xml属性缺失和空间前缀。

lint –check MissingPrefix myproject

 

查看完整的命令列表和参数:

lint –help

 

配置 lint

默认情况下,当你运行lint扫描,这个工具会检查所有的问题。你可以限制lint的检查,通过设置问题的严重程度。例如,您可以禁用lint检查特定的问题,无关你的项目和配置lint报告非关键问题在一个较低的严重程度。

 

你可以配置lint检查一下几个等级:

l        Globally, for all projects(所有工程)

l        Per project(每个工程)

l        Per file(每个文件)

l        Per Java class or method (byusing the @SuppressLint annotation), or per XML element (by usingthe tools:ignoreattribute.(每个java类、方法、xml文件)

 

配置 lint 文件

 

你可以指定lint检查的选项在lint.xml 文件。创建lint.xml文件放在Android工程的根目录下。

 

xml version="1.0" encoding="UTF-8"?>
    
        

例如:

 

xml version="1.0" encoding="UTF-8"?>
    
     id="IconMissingDensityFolder" severity="ignore" />
    
     id="ObsoleteLayoutParam">
         path="res/layout/activation.xml" />
         path="res/layout-xlarge/activation.xml" />
    
 
    
     id="UselessLeaf">
         path="res/layout/main.xml" />
    
 
    
     id="HardcodedText" severity="error" />

 

你可能感兴趣的:(android_tools)