android studio的一些技术

来源:互联网 发布:软考项目管理 知乎 编辑:程序博客网 时间:2024/06/07 05:09

        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的使用




未完成











0 0
原创粉丝点击