Android 开发问题:Call requires API level 24, or core library desugaring: java. lang. Iterable#forEach
·
detailDUDMap.values().forEach(value -> {
...
});
- 在 Android 开发中, 上述代码出现如下警告信息
Call requires API level 24, or core library desugaring (current min is 21): java. lang. Iterable#forEach
问题原因
-
代码中使用的
Iterable#forEach方法需要 Android API 24(Android 7.0)或更高版本 -
但项目配置的最低兼容版本(minSdk)为 API 21(Android 5.0)
处理策略
- 回退到使用 for 循环
for (DetailDUD value : detailDUDMap.values()) {
...
}
- 将 minSdk 提升到 24,修改模块级 build.gradle 文件
defaultConfig {
minSdk 24
}
- 使用核心库脱糖技术让低版本 Android 系统支持 Java 8 特性,在模块级 build.gradle 文件中添加如下内容
compileOptions {
// 启用核心库脱糖
coreLibraryDesugaringEnabled true
}
dependencies {
// 添加核心库脱糖依赖
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4'
}
更多推荐

所有评论(0)