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的button,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-08-10 23:28:46

Android 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工程源代码进行扫描和检查,可发现潜在的问题,以便程序员及早修正这个问题

Android Studio使用Lint进行代码检查

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

android官方技术文档翻译——Android Lint

本文译自androd官方技术文档<Android Lint>,原文地址:http://tools.android.com/tips/lint. 本文地址:http://blog.csdn.net/maosidiaoxian/article/details/41592783.转载请注明出处.翻译如有错讹,敬请指正. Android Lint Android Lint是在ADT 16(和 Tools 16)引入的一个新工具,可以扫描Android 项目源码中潜在的bug .它可同时作为一个命令行工

Android Lint简介

Android Lint是SDK Tools 16 (ADT 16)之后才引入的工具,通过它对Android工程源代码进行扫描和检查,可发现潜在的问题,以便程序员及早修正这个问题.Android Lint提供了命令行方式执行,还可与IDE(如Eclipse)集成,并提供了html形式的输出报告. 选中一个Android工程,单击右键,在下拉菜单中选择“Android tools”->"Run lint:check common errors" 然后我们就能得到错误报告了 这里我们

Android Lint 去除重复资源 之 idea探究

Android Lint是很好的检查工具,可以帮助开发者检查很多问题,其中检查android项目重复的资源文件非常有用. 1.命令行下使用 Android Lint有很多命令,具体可以在网上查到.今天主要使用check,这个命令目的是只进行某个或某几个类型的检查,比如只检查无用的资源"lint --check UnusedResources <project dir>".至于都有哪些类型的检查,可以输入命令"lint --list"来查看,也可以输入命令

Android lint 删除无用图片文件和配置文件

Android lint  删除无用.冗余的  配置文件和 图片资源 转载请注明  http://blog.csdn.net/aaawqqq?viewmode=contents Android项目经过长期的迭代开发  项目当中有大量无用的java类和冗余图片 如果不整理将会导致 apk 包比较大 审查 清理Java类  使用UCDetector  可以查看我的上篇 博文 http://blog.csdn.net/aaawqqq/article/details/46684441 Android l

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

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

Android Lint工具

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