如果我在 android 代码中使用 java.lang.Iterable#forEach,Lint 会出错
Lint is giving error if I use java.lang.Iterable#forEach in android code
在我的 android 代码 (Kotlin) 中,我使用了 java 可迭代的 forEach 方法。
mandatoryViews.forEach { view ->
// my code here
}
下面是我在 build.gradle(应用程序)中的 sdk 配置:
minSdkVersion 23
targetSdkVersion 30
现在我的代码可以正常构建了。我还尝试在 API 23 像素设备上 运行 它并且一切正常。
但是在我 运行 gradlew lint
看到 lint 错误之后,它失败了并且报告给我这个错误:
Call requires API level 24 (current min is 23): java.lang.Iterable#forEach
无法理解为什么 lint 认为它不能在 API 23 上运行,而在 API 23 设备上我的代码是 运行ning 没问题。
此 issue 已在 Android Gradle 插件 4.2 提供的 lint 中修复,4.2.1 是目前最新的稳定版本。
更新您的项目级别 build.gradle 以拥有
classpath 'com.android.tools.build:gradle:4.2.1'
在其 buildscript.dependencies
块中。
在我的 android 代码 (Kotlin) 中,我使用了 java 可迭代的 forEach 方法。
mandatoryViews.forEach { view ->
// my code here
}
下面是我在 build.gradle(应用程序)中的 sdk 配置:
minSdkVersion 23
targetSdkVersion 30
现在我的代码可以正常构建了。我还尝试在 API 23 像素设备上 运行 它并且一切正常。
但是在我 运行 gradlew lint
看到 lint 错误之后,它失败了并且报告给我这个错误:
Call requires API level 24 (current min is 23): java.lang.Iterable#forEach
无法理解为什么 lint 认为它不能在 API 23 上运行,而在 API 23 设备上我的代码是 运行ning 没问题。
此 issue 已在 Android Gradle 插件 4.2 提供的 lint 中修复,4.2.1 是目前最新的稳定版本。
更新您的项目级别 build.gradle 以拥有
classpath 'com.android.tools.build:gradle:4.2.1'
在其 buildscript.dependencies
块中。