Android lint工具 检查的常见问题

 1. Correctness
1) DuplicatedIds
Layout中id应该唯一
2) NewApi
代码中使用的某些API高于Manifest中的Min SDK
3) InconsistentArrays
字符串国际化中,同一名字的的String-Array对应的item值不相同
4) Registered
Activity/Service/ContentProvider没有通过AndroidManifest注册
5) Deprecated
使用已经废弃的API
6) PxUsage
避免使用px,使用dp  

2. Correctness:Messeges
1) MissingTranslation
字符串国际化不完全
2) ExtraTranslation
国际化的字符串,在默认位置(defaultlocale),没有定义  

3. Security
1) SetJavaScriptEnabled
不确定你的程序中确实需要JavaScript就不要执行SetJavaScriptEnabled。
2)ExportedContentProvider/ExportedReceiver/ExportedService/ExportedActivity
ContentProvider/Receiver/Service/Activity的exported为true时,设置一个Permission,让使用者获取了Permission才能使用。
3) HardcodedDebugMode
不要在manifest中设置android:debuggable。
设置它,编译的任何版本都要采用指定的debug模式。不设置,编译Eng版本采用debug模式;编译User版本采用release模式。  

4. Performance
1) DrawAllocation
避免在绘制或者解析布局(draw/layout)时分配对象。E.g.,Ondraw()中实例化Paint对象。
2) ObsoleteLayoutParam
Layout中无用的参数。
3) UseCompoundDrawables
可优化的布局:如包含一个Imageview和一个TextView的线性布局,可被采用CompoundDrawable的TextView代替。
4) UseSparseArrays
尽量用Android的SparseArray代替Hashmap
5) DisableBaselineAlignment
如果LinearLayout被用于嵌套的layout空间计算,它的android:baselineAligned属性应该设置成false,以加速layout计算。
6) FloatMath
使用FloatMath代替Math。
7) NestedWeights
避免嵌套weight,那将拖累执行效率
8) UnusedResources/UnusedIds
未被使用的资源会是程序变大,并且编译速度降低。
9) Overdraw
如果为RootView指定一个背景Drawable,会先用Theme的背景绘制一遍,然后才用指定的背景,这就是所谓的“Overdraw”。
可以设置theme的background为null来避免。
10) UselessLeaf/UselessParent
View或view的父亲没有用  

5. Usability:Typography
1) TypographyDashes
特殊字符需用编码代替:“–”需要用“–”;“—”需要用“—”
2) TypographyEllipsis
特殊字符需用编码代替:“…”需要用“…”
3) TypographyOther
问题:“(c)”需要用“©”  

6. Usability:Icons
1) IconNoDpi
Icon在nodpi和指定dpi的目录下都出现。
2) GifUsage
Image不要用GIF,最好用PNG,可以用JPG。  

7. Usability
1) BackButton
Android中不要设计有Back的按钮,Android中一般有Back的硬按键。
2) ButtonCase
Button的“Ok”/“Cancel”显示大小写一定,不要全大写或全小写。有标准的资源的字符串,不要自己再定义,而要用系统定义的:@android:string/ok和@android:string/cancel  

8. Accessibility
1) ContentDescription
ImageView和ImageButton应该提供contentDescription  

9. Internationalization
1) HardcodeText
硬编码的字符串应该在资源里定义
2) EnforceUTF8
所有XML资源文件都应该以UTF-8编码  

时间: 2024-11-07 04:40:40

Android lint工具 检查的常见问题的相关文章

Android Lint工具

Android lint是在ADT 16提供的新工具,它是一个代码扫描工具,类似findBugs工具.不过他主要检测以下方面的内容: 布局性能 国际化问题(硬编码) 图标的问题(重复的图标,错误的大小) 可用性问题(如不指定的文本字段的输入型) Androidmanifest文件的错误 未使用到图片等资源 不一致的数组大小 使用了高于minSdk的api 可以直接检测某个工程,使用方式很简单,配置好sdk路径,命令行中直接输入:lint 工程名 就会有检测结果,例如下图: 在Eclipse中他已

使用lint工具优化Android代码

一.概述 Android lint工具是一个静态的代码分析工具,用来检查代码中潜在的问题并且提高代码的正确性,安全性,可用性,国际化和性能. 确保代码中没有结构性的错误,发现潜在的问题.Android-Lint提供了命令行方式执行,还可与IDE(eclipse.Idea.AndroidStudio)集成,并提供了html形式的输出报告.Android-Lint可以方便的与项目中的其他自动系统(配置/ Build / 测试等)集成. 二.应用 2.1 自动执行 以AndroidStudio为例,当

Android Lint——内嵌于Android Studio的代码优化工具

Android Lint工具是Android Studio 自带的静态代码工模具,Android Lint是专门针对Android 定制的检查规则,因此可以检查出很多Android特有的代码缺陷.建议在开发过程中,经常性地检查编写的代码是否存在问题,在每次测试功能模块前运行Lint是一个不错的时机. Android Studio自身集成了Android Lint,用鼠标右键单击工程中的任一一个文件夹,在弹出菜单中选择Analyze →Inspect Code...即可执行Lint检查. 检查结果

【工利其器】Android Lint篇——为Android量身定做的静态代码审查工具

前言 我们在进行代码优化的时候,往往是通过开发者的经验来判断哪些代码可能存在潜在问题,哪些资源的使用不合规范等.实际上Android SDK提供了一款功能非常强大的工具,来帮助开发者自动检测代码的质量及安全问题,这款工具就叫Android Lint.Lint提供了命令行方式以及与IDE集成的方式来执行,现在Android开发者基本上都使用Android Studio(后文简称AS,下同)来进行开发,强大的AS也集成了该工具,本文就基于AS3.2版本来介绍Lint. 一.Android Lint简

Android学习之Android studio TraceView和lint工具的使用具体解释

上次讲述了一下Android studio Terminal的使用配置,今天又学习了一下关于Traceview和lint工具的使用. 首先来讲lint吧: Android lint工具是Android studio中集成的一个代码提示工具.它主要负责对你的代码进行优化提示,包含xml和java文件,非常强大. 编写完代码及时进行lint測试.会让我们的代码变得非常规范并且避免代码冗余. 让我们及时发现代码中隐藏的问题. 举个样例:我们在代码中建立全局变量.而这个变量实际并不须要全局便利.lint

Android Lint简介(转)

转载自原文:http://blog.csdn.net/hudashi/article/details/8333349,感谢原作者. 英文原文:http://tools.android.com/tips/lint 参照文章:http://blog.csdn.net/thl789/article/details/8037473 一.简介 Android Lint是SDK Tools 16 (ADT 16)之后才引入的工具,通过它对Android工程源代码进行扫描和检查,可发现潜在的问题,以便程序员及

Android Lint简介(转载)

英文原文:http://tools.android.com/tips/lint  参照文章:http://blog.csdn.net/thl789/article/details/8037473 转载地址:http://blog.csdn.net/hudashi/article/details/8333349 一.简介 Android Lint是SDK Tools 16 (ADT 16)之后才引入的工具,通过它对Android工程源代码进行扫描和检查,可发现潜在的问题,以便程序员及早修正这个问题

An internal error occured durring:" running android lint"——我的android 入门阶梯

前段时间刚开始学Android时遇到这个问题,每次打开.运行Android project 都会跳出这个提示: 无视它程序可以运行,但总是觉得有点不爽 网上已有一些解决方案: 1.打开项目的AndroidManifest.xml文件,android:targetSdkVersion="21"改为“20”或以下的值.由于Android L为预览版本,版本号还是使用“20”的原因导致了此问题.修改完后,再Project -> Context Menu -> Android To

android studio学习---Lint工具

对代码进行测试是一回事,但同样重要的是.我们还需要在编写代码的同时引入各种最佳实践.这不仅能够显著改进性能表现,也能增加应用程序的整体稳定性.另外,经过合理结构调整的项目在维护方面也更为轻松. Android Studio中提供的Android Lint是一款静态分析工具,它负责对项目源代码加以分析.它能够检测出应用程序中的潜在漏洞以及其它可能被编译器所忽略的其它代码问题. 就以下面这幅截图为例,大家可以看到该布局中的LinearLayout并未得到实际使用.Android Lint的优势在于,