当我像这样用kotlin编写自定义棉绒规则时:
class AlarmDetector : Detector(), SourceCodeScanner {
companion object Issues {
private val IMPLEMENTATION = Implementation(
AlarmDetector::class.java,
Scope.JAVA_FILE_SCOPE
)
/** Alarm set too soon/frequently */
@JvmField
val ISSUE = Issue.create(
id = "ShortAlarm",
briefDescription = "Short or Frequent Alarm",
explanation = """
Frequent alarms are bad for battery life. As of API 22, the `AlarmManager` will override \
near-future and high-frequency alarm requests, delaying the alarm at least 5 seconds into the \
future and ensuring that the repeat interval is at least 60 seconds.
If you really need to do work sooner than 5 seconds, post a delayed message or runnable to a \
Handler.""",
category = Category.CORRECTNESS,
priority = 6,
severity = Severity.WARNING,
implementation = IMPLEMENTATION
)
}
other code ...
组装lint.jar之后,将其放置到“ /.android/lint”
使用android gradle插件:3.1.1在我的项目中运行良好
但是当我使用以下命令在android sdk(sdk / tools / bin / lint)中使用lint工具时:lint --show
我遇到错误
Could not load custom lint check jar file
java.lang.NoSuchFieldError: Companion
我发现最新的SDK工具是26.1.1 https://developer.android.com/studio/releases/sdk-tools
lint&lint-api&lint-check的版本为26.0.0-dev kotlin-stdlib的版本是1.1.3 它太旧了 我希望SDK工具中的棉绒能够更新