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

Android Studio 3.5.3更换JDK版本遇阻及Lambda使用疑问

Android Studio切换JDK版本报错及Lambda表达式使用问题解决

问题描述

已在系统JAVA_HOME和Path中配置Java 16,CMD执行java -version显示版本为"16.0.2" 2021-07-20。Android Studio默认使用内置JDK路径C:\Program Files\Android\Android Studio\jre,该路径对应Java 8;项目因语言版本设置为7,无法使用Lambda表达式。尝试通过File/Project Structure/SDK Location/JDK Location切换至C:\Program Files\Java\jdk-16.0.2时,提示"Please choose a valid JDK 8 directory"。

解决方案

一、解决IDE要求JDK 8的报错

部分旧版Android Studio强制要求使用JDK 8运行IDE,但可分开配置IDE运行JDK和项目编译JDK:

  • 为项目配置编译JDK:打开File > Project Structure > Project,在Project SDK下拉选择已安装的JDK 16,同时将Project language level设为16或对应版本。
  • 修改IDE运行JDK配置:
    1. 找到Android Studio安装目录下的bin文件夹,打开studio.exe.vmoptions(32位系统)或studio64.exe.vmoptions(64位系统)。
    2. 在文件末尾添加一行:-Djdk.home=C:\Program Files\Java\jdk-16.0.2(替换为你的JDK实际路径)。
    3. 重启Android Studio后,再尝试在SDK Location中更换JDK路径。

二、启用Lambda表达式支持

Lambda表达式需要Java 8及以上语言版本,按以下步骤配置:

  1. 打开项目根目录的build.gradle(Project级),确保compileSdkVersion、targetSdkVersion设置为26或更高(Java 8特性依赖API 26+)。
  2. 打开模块级build.gradle,在android代码块中添加:
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_16
        targetCompatibility JavaVersion.VERSION_16
    }
    
    若项目使用Kotlin,额外添加:
    kotlinOptions {
        jvmTarget = '16'
    }
    
  3. 同步项目后,进入File > Project Structure > Modules,将对应模块的Language level设为16。

内容的提问来源于stack exchange,提问作者Alan Richter

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 03:05:38