zoukankan      html  css  js  c++  java
  • 提高你的代码稳定性与可读性-lint工具

    from://http://wiki.eoe.cn/page/Improving_Your_Code_with_lint.html

    负责人:lingzideshensha

    分任务原文链接:http://developer.android.com/tools/debugging/improving-w-lint.html

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

    概述

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

    这个 lint工具检查你的Android项目源文件潜在的bug和优化改进,以确保正确性、安全性、性能、可用性、可访问性和国际化。您可以运行 lint从命令行或从Eclipse环境。

    图1展示了 lint工具处理应用程序源文件。

    http://developer.android.com/images/tools/lint.png

    图1。代码扫描的工作流与 lint工具

    • 应用程序源文件*

    :源文件包含文件,让你的Android项目,包括Java和XML文件,图标和混淆器配置文件。

    • 这个 lint.xml文件*

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

    • 这个 lint工具*

    :一个静态代码扫描工具,您可以运行在你的Android项目从命令行或从Eclipse。这个 lint工具检查结构代码的问题,可能会影响质量和性能的Android应用程序。强烈建议您纠正任何错误 lint检测应用程序之前出版。

    • 结果 lint检查*

    :您可以查看结果 lint在控制台或在Lint Warnings在Eclipse视图。每个问题是确定的位置在源文件它发生的位置和描述的问题。

    这个 lint工具将自动安装Android SDK的一部分16或更高版本的工具。如果你想使用 lint在Eclipse环境中,您还必须安装Android开发工具(ADT)插件的Eclipse版本16或更高。为更多的信息关于安装SDK和Eclipse ADT插件,请参阅安装SDK。

    lint从Eclipse运行

    如果ADT插件���装在您的Eclipse环境, lint工具运行时自动执行这些行动的:

    • 出口一个APK
    • 编辑和保存一个XML源文件在你的Android项目(比如清单或布局文件)
    • 使用布局编辑器在Eclipse中进行更改

    注意,当您导出一个APK, lint只运行一个自动检查致命错误和中止出口如果致命错误被发现。你可以关掉这个自动检查从Lint错误检查Eclipse首选项页面。

    输出显示在Lint Warnings视图。如果Lint Warnings的观点是不显示在工作台,你可以把它从Eclipse菜单点击窗口> Show view > > >其他AndroidLint Warnings。

    图2显示了一个示例的输出在Lint Warnings视图。

    文件:1233.png|800px|thumb|left|图2。在示例输出Lint Warnings视图

    您还可以运行 lint在你的Android项目手动扫描在Eclipse中通过右键单击项目文件夹在Package Explorer工具>运行> Android Lint Warnings.

    从命令行运行lint

    要运行 lint对一个文件列表的项目目录:

    lint [flags]

    例如,您可以发出以下命令来扫描下的文件 myproject目录及其子目录。这个问题ID MissingPrefix告诉 lint只扫描XML属性缺失的Android名称空间前缀。

    lint --check MissingPrefix myproject

    要查看完整的列表的命令行参数所支持的工具:

    lint --help

    示例lint产量

    下面的例子显示了控制台时的输出 lint命令是违反一项名为Earthquake。

    $ lint Earthquake

    Scanning Earthquake: ...............................................................................................................................
    Scanning Earthquake (Phase 2): .......
    AndroidManifest.xml:23: Warning: tag appears after tag [ManifestOrder]

    ^
    AndroidManifest.xml:23: Warning: tag should specify a target API level (the highest verified version; when running on later versions, compatibility behaviors may be enabled) with android:targetSdkVersion="?" [UsesMinSdkAttributes]

    ^
    res/layout/preferences.xml: Warning: The resource R.layout.preferences appears to be unused [UnusedResources]
    res: Warning: Missing density variation folders in res: drawable-xhdpi [IconMissingDensityFolder]
    0 errors, 4 warnings

    上面的输出列出了四个警告和没有错误在这个项目。三个警告(ManifestOrder, UsesMinSdkAttributes,UsesMinSdkAttributes在项目的)被发现的 AndroidManifest.xml文件。剩下的警告(IconMissingDensityFolder)被发现的 Preferences.xml布局文件。

    配置lint

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

    您可以配置 lint检查在不同的级别:
    * 在可操作范围内,对所有的项目
    * 每个项目
    * 每个文件
    * 每个Java类或方法(通过使用 @SuppressLint注释),或每个XML元素(通过使用 tools:ignore属性。

    lint在Eclipse中配置

    您可以配置可操作,具体项目和文件特定的设置 lint从Eclipse用户界面。

    Global preferences

    1.Open Window > Preferences > Android > Lint Error Checking。
    2.指定您的首选项并单击OK。
    这些设置都应用默认情况下当你运行 lint在你的Android项目在Eclipse中。

    项目和文件特定偏好

    1.运行 lint工具在你的项目通过右键单击您的项目文件夹在包浏览器并选择Android工具>运行Lint:检查常见的错误。这个操作将显示视图,其中显示了Lint Warnings的问题清单, lint在你的项目检测。
    2.从Lint Warnings视图,使用工具栏选项来配置 lint个人偏好在Eclipse项目和文件。你可以在选项选择包括:

    :* 抑制这个错误的注释/属性——如果这个问题出现在一个Java类, lint工具添加一个 @SuppressLint注释的方法检测问题。如果这个问题出现在一个 .xml文件, lint插入一个 tools:ignore属性来禁用检查 lint问题在这个文件中。
    :* 忽略在这个文件中,禁用检查这个 lint问题在这个文件中。
    :* 忽略在这个项目-禁用检查这个 lint在这个项目的问题。
    :* 总是忽略——禁用检查这个 lint在可操作范围内对所有的项目问题。

    如果你选择第二个或第三个选项, lint工具会自动生成一个 lint.xml文件与这些配置设置在你的Android应用程序项目文件夹。

    配置lint文件

    您可以指定你的 lint检查偏好在 lint.xml文件。如果你正在创建这个文件手动,将其放置在你的Android项目根目录。如果您正在配置 lint在Eclipse首选项, lint.xml文件是自动创建并添加到你的Android项目给你。

    这个 lint.xml文件包含一个封闭 父标记,它包含一个或更多的child 元素。每个 由一个唯一的标识吗 id属性值,它被定义为 lint.

    <?xml version"UTF-8"?>


    通过设置属性值的程度 标签,你可以禁用 lint检查一个问题或更改为一个问题的严重程度。

    提示:要查看完整的列表,支持的问题 lint工具及其相应的问题id,运行 lint --list命令。

    • 示例lint。xml文件*

    下面的例子显示的内容 lint.xml文件。

    <?xml version"UTF-8"?>


     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    <!-- Ignore the ObsoleteLayoutParam issue in the specified files -->
    <issue id="ObsoleteLayoutParam">
        <ignore path="res/layout/activation.xml" />
        <ignore path="res/layout-xlarge/activation.xml" />
    </issue>
    
    <!-- Ignore the UselessLeaf issue in the specified file -->
    <issue id="UselessLeaf">
        <ignore path="res/layout/main.xml" />
    </issue>
    
    <!-- Change the severity of hardcoded strings to "error" -->
    <issue id"error" />
    

    配置lint检查Java和XML源文件中

    你可以禁用 lint检查从你的Java和XML源文件。

    提示:如果您使用的是Eclipse,您可以使用快速修复功能来自动添加注释或属性来禁用 lint检查您的Java或XML源文件:

    1.打开Java或XML文件,有一个 Lint Warnings或错误在Eclipse编辑器。
    2.移动你的光标位置的文件在哪里 lint问题是找到,然后按 Ctrl+1启动快速修复弹出。
    3.从快速修复弹出,选择行动来添加一个注释或属性来忽略 lint问题。

    在Java中配置lint检查

    禁用 lint专门为一个Java类检查或方法在你的Android项目,添加 @SuppressLint注释的Java代码。

    下面的例子展示了如何关掉 lint检查 NewApi问题 onCreate方法。这个 lint工具继续检查 NewApi问题在其他这个类的方法。

    @SuppressLint("NewApi")
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    下面的例子显示了如何关掉 lint检查 ParserError问题 FeedProvider类:

    @SuppressLint("ParserError")
    public class FeedProvider extends ContentProvider {

    忽略检查所有 lint问题在Java文件,使用 all关键字,像这样:
    @SuppressLint("all")

    在XML配置lint检查

    您可以使用 tools:ignore属性来禁用 lint检查你的XML文件的特定部分。为了让这个属性是承认的 lint工具,以下名称空间值必须包含在XML文件:

    namespace xmlns:tools="http://schemas.android.com/tools"

    下面的例子展示了如何关掉 lint检查 UnusedResources问题 元素的XML布局文件。这个 ignore属性是继承了children 的元素的 parent 元素中声明的属性。在这个例子中, lint检查是否禁用了child 元素。

    1
    2
    <TextView
        android:text="@string/auto_update_prompt" />
    

    禁用不止一个问题,这个问题列表来禁用以逗号分隔的字符串。例如:

    tools:ignore="NewApi,StringFormatInvalid"

    忽略检查所有 lint问题在XML元素,使用 all关键字,像这样:

    tools:ignore="all"

    LintWindow
    想一个项目中运行lint,在PackageExplorer中选择项目,点击Lint工具栏选项(见右图)。
    或者你可以在项目上右击点击Android Tools子菜单,将会有一个 “RunLint” 选项. 这个会打开一个 包含有各种错误的Lint窗口.选择一个错误将会在右边的区域显示与之关联的解释.
    你可以在Lint窗口中双击错误去定位到与之关联的源码, 每个警告图标将显示其严重性,对于已经修复的警告,有一个小灯泡.
    窗口也有一个操作栏(在右上方角落),它可以让你
    再次运行lint 检查并刷新结果 (刷新的过程中会变成停止按钮,如果你想停止的话可以点击停止按钮)
    如果存在,运行和此错误关联修复
    忽略此修复
    移除单条警告标识
    移除所有警告标识
    快速修复                                                                        
    许多lint警告有自动修复功能。例如,不同的layoutopt修正建议替换(例如:更换wrap_content与0DP)。
    从lint视图,点击灯泡修复
    从布局编辑器警告摘要,单击“修复”按钮来修复。
    从XML源代码编辑器中,调用快速修复(按Ctrl-1),并选择快速修复警告。
    抑制错误                                                        
    从编辑器的快速修复菜单,您也可以选择
    仅仅在这个文件中忽略警告
    在这个项目中忽略警告
    忽略警告,周期.
    使用注释或属性忽略警告.
    选项
    要编辑全局的皮棉选项,这是用于所有项目的后备选项,调用正常的Eclipse选项“对话框,选择Android> lint选项:
    如果你选择了一个问题,你可以在右下角的下拉列表编辑其严重性。这使您可以设计特定的问题作为一个错误。需要完全的关闭的一个问题,选择“忽略”的严重程度。需要注意的是,这并不编辑每个项目的Lint设置。打开项目设置对话框(右键单击该项目),在那里你会发现一个AndroidLint的属性页。在“选项”对话框手动编辑严重程度伴随抑制错误将被记录在lint.xml文件,因此在你的团队的其他人将获得相同的诊断配置
  • 相关阅读:
    UVA 221
    A Typical Homework(学生信息管理系统)
    追踪电子表格中的单元格
    浮点数!!!(摘)
    poj 3158kickdown
    循环小数 UVa202
    Unix is 命令
    W
    V
    完美世界 字符串倒置输出
  • 原文地址:https://www.cnblogs.com/wanqieddy/p/3549739.html
Copyright © 2011-2022 走看看