Android 自定义Lint 基础教程
Posted 杨哲丶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 自定义Lint 基础教程相关的知识,希望对你有一定的参考价值。
调试Lint 插件
-
在android项目中,以源码形式依赖自定义Lint代码(和示例代码一致)。
-
提前在自定义Lint代码中打好断点。注意不是Android代码,而是编译期间Gradle加载执行的代码。
-
在Android Application模块的build.gradle中关闭Lint的abortOnError选项,以免还没到断点时build就中止了。
lintOptions abortOnError false
-
在Android Studio的运行参数(Run Configurations)中添加一个Remote类型,都取默认值即可。
-
打开一个命令行窗口,执行命令
export GRADLE_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005"
-
还是在这个命令行窗口,执行Gradle任务
./gradlew clean lintDebug -Dorg.gradle.daemon=false -Dorg.gradle.debug=true --no-daemon
设置参数关闭Gradle Deamon , 执行后Gradle会等待Android Studio调试器连接。
- Android Studio使用刚配置的Remote运行参数,点击调试箭头按钮,连接到Gradle就会开始执行,执行到Lint任务时就会在断点处中断,可以正常调试Java源码。
- 命令行执行unset GRADLE_OPTS,可关闭Gradle调试
运行方法
gralde 版本 3.x
app 是moudle 的名字,需要 clean 保证 100% 生效
./gradlew clean app:lintDebug
代码在 github 上
官方参考资料
可以参考google 自带的检测方式,模仿写:
Google 自带Lint 检查,参考资料
Lint 源码分析
以上是关于Android 自定义Lint 基础教程的主要内容,如果未能解决你的问题,请参考以下文章
Android 自定义 lint 规则未检测到任何问题(对于导入)
Lint 基础结构错误原因:java.lang.reflect.InvocationTargetException - Android Studio 4.2.2