天天看点

Android Studio使用Lint进行代码检查

       作为移动应用开发者,我们总希望发布的apk文件越小越好,不希望资源文件没有用到的图片资源也被打包进apk,不希望应用中使用了高于minSdk的api,也不希望AndroidManifest文件存在异常,lint就能解决我们的这些问题。Android lint是在ADT 16提供的新工具,它是一个代码扫描工具,能够帮助我们识别代码结构存在的问题,主要包括:

1)布局性能(以前是 layoutopt工具,可以解决无用布局、嵌套太多、布局太多)

2)未使用到资源

3)不一致的数组大小

4)国际化问题(硬编码)

5)图标的问题(重复的图标,错误的大小)

6)可用性问题(如不指定的文本字段的输入型)

7)manifest文件的错误

    Android lint可以解决如上的问题,当然还有更多,具体的可以参考Android Lint Checks。Android官方也总结了lint能解决的问题,如下图。

Android Studio使用Lint进行代码检查

    lint是命令工具,它已经完美的集成到了Eclipse中,我们可以方便的使用。通过lint,我们可以检测出每个问题的说明和问题的严重性,根据检测报告可以对程序作出改进。

Android Studio目前已经更新到1.4版本,它作为Google官方推荐的IDE,功能非常强大,其中提供了一套静态代码分析工具,它可以帮助我们检查项目中存在的问题,让我们更有规范性的开发App。它可以检查出:xml文件中是否存在hardcode硬编码、unused resources没有使用到的资源、probable bug可能的bug等等。那么现在我们来测试使用它看看:

Android Lint的使用

找到Analyze目录下的Inspect Code检查代码选项点击

Android Studio使用Lint进行代码检查

然后弹出下面这个框框,在这个列表选项中我们可以选择Inspect Code的范围,点击OK

Android Studio使用Lint进行代码检查

待分析完毕后,我们可以在Inspection栏目中看到检查的结果

Android Studio使用Lint进行代码检查

其中,我们从检查结果可知,它会给出所有在这个项目中不规范的编码、多余的资源、可能的bug、或者其它的一些问题,然后会给出修改的建议供我们参考,虽然这些问题并不会影响App的正常运行,不过这对于项目的规范性和维护性来说是非常重要的。 

我们从测试的demo中可以看出,这个项目中存在hardcode、unused resources和spelling拼写问题,点击对应的问题后后边会给出问题的具体位置供我们修改,所以这个工具可以让项目具有规范性的开发。

自定义Android Lint的检查提示

我们知道在xml文件中编写布局时候,假如我们在一个TextView中的text属性上直接写字符串,在textSize属性上写入的值用dp为单位,那么,此时AS中将会有建议提示,如: 

Android Studio使用Lint进行代码检查

可以看到这个提示太不明显了,所以我们可以通过更改对应的severity等级来更改提示的等级,如: 

默认hardcode的severity等级为warning,我们修改hardcode的severity等级为error,那么在存在硬编码时候将会以error等级提醒我们: 

Android Studio使用Lint进行代码检查

再修改testsize如果使用dp为单位的severity等级为: 

Android Studio使用Lint进行代码检查

修改完成后,我们可以看到提示使用红色的波浪线标记了,更直观了,如: 

Android Studio使用Lint进行代码检查

而且,Android Lint中还有很多可以自己去设置的,有兴趣的可以去试试,当然这个只是起提示建议作用,并不会影响程序的正常运行。

继续阅读