您的位置:首页 > 移动开发 > Android开发

android studio的一些技术

2015-08-31 18:01 621 查看
android的优化检查中,ADT使用lint进行检查,而检查中有一些我们自己知道需要忽略的,可以通过lint.xml进行配置,也就是说,lint.xml是用来配置忽略检查的文件。我们可以自己手动创建,或者使用ADT帮我们创建。如果使用ADT创建lint.xml,可以在lintwarnings右上角点击Ignore in this project,刷新项目会自动生成。当然,如果点击的是Ignore this error with annotation/attribute则只是在属性中添加tools:ignore="HardcodedText"等,而其他的Ingnore选项一般在lint.xml中添加选项。需要注意,ADT并不是总能检测出来,有时候ignore之后,删除了ignore配置,再次右键项目->android
tools->Run lints:Check for common errors并不一定能进行正确的检测,往往需要重启ADT才能进行正确的检测,这点需要注意!

在android studio中,使用Inspection的检查方式,这种检查方式包括了lint检查。右键项目,Analyze中的选项就是检查项目代码的,检查结果在Inspection窗口中显示。使用右键项目->Analyze->inspect code...进行检测,这种检测包含了lint检查,这点可以在检查项android lint中看出。同时需要注意的是,inspect code...点击之后出现的选框里面有一个inspection scope选项,应该要选择whole projection,而不是directory路径,不然就只是进行某路径的检查,只有选择whole
projection才能进行全项目的检查。

另外使用ctrl+shift+alt+I可以直接打开Enter Inspection Name框,在这个框里面可以输入检查的项目名,例如输入unused resources可以检查未使用到的资源。

在android studio中,进行inspect code之后右键某个选项,然后列表中,会有suppress for tag,suppress for file,suppress all for file等选项。suppress for tag则是在忽略点钟添加注释

<!--suppress AndroidElementNotAllowed -->

而已。如果是suppress for file,则是在

<?xml version="1.0" encoding="utf-8"?>下添加
<!--suppress AndroidElementNotAllowed -->


如果是suppress all for file,则是在

<?xml version="1.0" encoding="utf-8"?>下添加
<!--suppress ALL -->

注释。

在Settings中,可以配置android studio的Inspection的规则,使用快捷键ctrl+shift+S打开Settings,选择Editor->Inspections进行编辑,或者点击Inspection窗口的左手边的settings按钮打开也是一样的。但是在这里仅仅只是能修改报错的信息的等级,如error,warning,info等,实际上这并没有什么用处!

其实对于一般的inspect code检查,一般使用suppress for tag,suppress for file,suppress all for file进行编辑,这点跟lint的ignore是不一样的,前者使用<!-->进行,而后者使用属性tools:ignore进行。但是对于inspect code的android lint部分可以像ADT的lint操作一样进行,右键某一项,选择Suppress with @SuppressLint(java) or tool:ignore(xml)可以给xml的检查添加tools:ignore,这点和ADT是一样的。

lint.xml用于配置需要忽略的检查项,对于android studio,只能点击检查项的菜单中的disable inspection忽略检查。这个选项确实可以忽略检查,但是不会生成lint.xml文件,这个是跟ADT不一样的地方,同时disable inspection也不需要指定忽略范围,这是我不大明白的地方。在android studio中,也没用生成lint.xml的方法,似乎只能通过手动创建lint.xml,或者lint命令。不过,lint.xml确实没什么必要,因为毕竟lint工具只是一个帮助检查的工具而已。

但是在gradle窗口中,我们可以点击刷新出我们当前的项目,然后点击gradle按钮,然后再command line中输入lint,进行lint模式的运行。command line可以参考项目下的verification中的模式。然后运行之后会在我们的module的build->output下生成lint-results.html,lint-results.xml等文件,但是这些文件会在下一次项目构建中删除,这点注意。通过这些文件我们可以看出使用gradle构建项目中,有哪些是可以进行优化的。重要的是这些可以优化的项的信息是很清晰的。

特别注意,在

android{

lintOptions{

}

}

中,可以配置lint的选项,比如:不检查给定问题的id,可以使用disable 'TypographyFractions','TypographyQuotes';仅检查给定的问题id,check
'NewApi', 'InlinedApi';重置lint配置,(使用默认的严格性等配置)lintConfig file("default-lint.xml");用于写入报告的文件,默认为lint-results.xml,xmlOutput
file("lint-report.xml");设置给定问题的严重级别(Severity)为ignore,和不检查这个问题一样,ignore 'TypographyQuotes';另外,需要注意,配置lintConfig file(${project.getRootDir()}/lint.xml)中,lint.xml需要我们自己创建并设置,不然报错。

在android studio中,gradle作为构建项目的工具,使用lint是理所当然的,所以gradle配置lint的设置需要特别注意,这可以给我们构建项目带来方便,这一点跟ADT差不多,只是更加麻烦。

在android studio的Inspection窗口中设置某一项disable inspection之后,确实在inspection不会在进行检查,但是没有生成lint.xml文件,同时也不知道怎么进行的设置

problem:1.lint.xml的生成;2.gradle的使用

未完成
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: