🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## Android line静态代码检查 ### 优势 1. 功能强大,Lint支持Java源文件、class文件、资源文件、Gradle等文件的检查。 2. 扩展性强,支持开发自定义Lint规则。 3. 配套工具完善,Android Studio、Android Gradle插件原生支持Lint工具。 4. Lint专为Android设计,原生提供了几百个实用的Android相关检查规则。 5. 有Google官方的支持,会和Android开发工具一起升级完善 ### 自定义line ![](https://img.kancloud.cn/d7/7f/d77f1666f8d4acfdac632cc20358b780_800x695.png) ### 执行时机 Lint检查可以在多个阶段执行,包括在本地手动检查、编码实时检查、编译时检查、commit检查,以及在CI系统中提Pull Request时检查、打包发版时检查等,下面分别介绍。 ### 手动执行 在Android Studio中,自定义Lint可以通过Inspections功能(`Analyze - Inspect Code`)手动运行。 在Gradle命令行环境下,可直接用`./gradlew lint`执行Lint检查。 手动执行简单易用,但缺乏强制性,容易被开发者遗漏。 ### 编码阶段实时检查 编码时检查即在Android Studio中写代码时在代码窗口实时报错。其好处很明显,开发者可以第一时间发现代码问题。但受限于Android Studio对自定义Lint的支持不完善,开发人员IDE的配置不同,需要开发者主动关注报错并修复,这种方式不能完全保证效果。 ### 本地编译时自动检查 配置Gradle脚本可实现编译Android工程时执行Lint检查。好处是既可以尽早发现问题,又可以有强制性;缺点是对编译速度有一定的影响。 ### 提代码时CI检查 作为代码提交流程规范的一部分,发Pull Request提代码时用CI系统检查Lint问题是一个常见、可行、有效的思路。可配置CI检查通过后代码才能被合并。 # 参考资料 [ 美团外卖Android Lint代码检查实践](https://zhuanlan.zhihu.com/p/35608859) [Android Lint](https://www.jianshu.com/p/b4c44e62d652)