我将如下所述的lint项目应用到存在问题但未检测到任何问题的应用程序模块中。
lintChecks project(':customlint')
ImportsIssueRegistry.kt
class ImportsIssueRegistry : IssueRegistry() {
override val issues: List<Issue>
get() = listOf(
SyntheticImportIssue.ISSUE,
AndroidLogImportIssue.ISSUE
)
override val api: Int
get() = CURRENT_API
}
customlint / build.gradle
apply plugin: 'java-library'
apply plugin: 'kotlin'
ext.lintVersion = '26.4.2'
dependencies {
//noinspection DifferentStdlibGradleVersion
compileOnly "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
compileOnly "com.android.tools.lint:lint-api:$lintVersion"
compileOnly "com.android.tools.lint:lint-checks:$lintVersion"
testImplementation 'junit:junit:4.13-beta-3'
testImplementation "com.android.tools.lint:lint:$lintVersion"
testImplementation "com.android.tools.lint:lint-tests:$lintVersion"
testImplementation "com.android.tools:testutils:$lintVersion"
}
sourceCompatibility = "1.8"
targetCompatibility = "1.8"
jar{
manifest{
attributes 'Lint-Registry-V2': '[package name].ImportsIssueRegistry'
}
}
我尝试了什么?
Lint-Registry
更改为Lint-Registry-V2
lintChecks fileTree(dir: 'libs', include: ['customlint.jar'] )
更新:
可以找到完整的代码here
请有人帮忙。
答案 0 :(得分:0)
尝试使用lintPublish project(':customlint')
代替lintChecks project(':customlint')
。在撰写本文时,Google的示例已过时。
答案 1 :(得分:0)
我遇到了同样的问题,但这是由于apply plugin: 'kotlin'
中的棉绒规则build.gradle
中缺少build.gradle
而引起的,这不是问题。
但是您可能想使用this video from ADS来赶上API的最新版本。 Google确实应该更新其文档???
一些明显的区别:
答案 2 :(得分:0)
我认为您可以删除任何jar / Lint-Registry 内容
看看这里: https://github.com/tikurahul/lint-experiments
复制 NoisyDetector 以帮助检查您的设置是否正确。