我目前正在尝试编写我正在处理的自定义 lint 检查。我创建了一个单独的 java 项目并将其作为 jar 包含在内。
我的问题是,无论如何,在分析我的代码库时,似乎我的自定义检查没有运行。
我已经包含了一个注册表
class MyIssueRegistry : IssueRegistry() {
override val issues: List<Issue>
get() = listOf(MyIssues.ISSUE_PATTERN)
}
还有探测器
class MyIssueDetector : Detector(), Detector.UastScanner {
override fun getApplicableUastTypes() = listOf(UClass::class.java)
override fun createUastHandler(context: JavaContext) =
MyIssueDetector(context)
class MyIssueDetector(private val context: JavaContext) : UElementHandler() {
override fun visitClass(node: UClass) {
context.report(MyIssues.ISSUE_PATTERN, context.getNameLocation(node), "This is just a test")
}
}
}
我还添加了attributes("Lint-Registry-v2": "com.pathto.lint.MyIssueRegistry")
到我的 java 项目的 gradle 并将其包含在我的应用程序 gradle 中lintChecks project(":lint")
据我所知这个主题 - 我的代码应该在每次读取类时抛出警告,但 lint 检查没有运行。我缺少一个步骤吗?
首先,检查您的 lint.jar 是否放置在正确的路径上。我的路径是~/.android/lint/lint.jar。
然后执行命令 '$ANDROID_HOME/tools/bin/lint --show | grep '您的问题名称'' 检查您的自定义 lint 是否已附加。
然后您可以将一些日志放入自定义 lint 实现中,就像使用“System.out.println()”一样
希望这可以帮助你。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)