You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio中JDK17的Stream.toList()方法不存在问题求助

Android Studio中Stream.toList()无法识别的解决办法

问题根源

Stream.toList()是Java 16新增的方法,但Android项目受Android Gradle插件(AGP)约束,即便本地JDK用的是17.0.7,若未正确配置Java兼容性或启用desugar支持,编译时仍无法识别该方法——这也是它能在IntelliJ IDEA普通Java项目中正常工作的原因(IDEA对纯Java项目的兼容性限制更少)。

具体解决步骤

1. 配置模块级构建脚本

修改你的模块build.gradle(或build.gradle.kts),指定Java版本并启用desugar:

Groovy版本:

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
        coreLibraryDesugaringEnabled true // 启用desugar以支持新Java API
    }

    // 若使用Kotlin,需添加以下配置
    kotlinOptions {
        jvmTarget = "17"
    }
}

dependencies {
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4'
}

Kotlin DSL版本:

android {
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_17
        targetCompatibility = JavaVersion.VERSION_17
        coreLibraryDesugaringEnabled = true
    }

    kotlinOptions {
        jvmTarget = "17"
    }
}

dependencies {
    coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.4")
}

2. 升级AGP版本(若需)

确保项目使用的AGP版本支持Java 17,推荐使用7.0及以上版本,修改项目根目录的build.gradle(或build.gradle.kts):

Groovy版本:

buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.2' // 替换为兼容的高版本
    }
}

Kotlin DSL版本:

buildscript {
    dependencies {
        classpath("com.android.tools.build:gradle:7.4.2")
    }
}

3. 同步并重建项目

  • 点击Android Studio右上角的「Sync Project with Gradle Files」按钮同步配置
  • 执行「Build > Clean Project」,再执行「Build > Rebuild Project」

4. 确认Android Studio的JDK配置

  • 打开「File > Project Structure > SDK Location」
  • 检查「JDK location」是否指向你安装的Eclipse Temurin 17.0.7,避免使用Android Studio自带的JDK或其他版本

内容的提问来源于stack exchange,提问作者Ernesto David Oliva Perez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 15:15:05