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

Android Studio无法识别Java 11,配置后仍用Java 8求助

Android Studio Java 11配置不生效问题排查与解决

问题描述

我已在Android Studio的Build Tools -> Gradle中添加Java 11,完成app/build.gradle及SDK配置,但查看源码仍显示使用Java 8;运行应用时,Java 11专属特性引发缺失异常。本地java -version显示:

openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+0-b60-7772763)
OpenJDK 64-Bit Server VM (build 11.0.11+0-b60-7772763, mixed mode)


解决方案

  • 检查项目级build.gradle配置
    确保项目根目录的build.gradle文件指定Java 11编译版本,同时使用适配Java 11的Gradle插件:

    buildscript {
        ext {
            compileSdkVersion = 33 // 建议使用30+的SDK版本以兼容Java11
            targetSdkVersion = 33
            minSdkVersion = 21
            javaVersion = JavaVersion.VERSION_11
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:7.0.0+' // Gradle插件7.0及以上支持Java11
        }
    }
    
    allprojects {
        repositories {
            google()
            mavenCentral()
        }
        tasks.withType(JavaCompile) {
            sourceCompatibility = JavaVersion.VERSION_11
            targetCompatibility = JavaVersion.VERSION_11
        }
    }
    
  • 确认模块级app/build.gradle配置
    完善编译选项,添加低版本SDK兼容的脱糖库(若minSdk<24):

    android {
        compileSdkVersion rootProject.ext.compileSdkVersion
        defaultConfig {
            minSdkVersion rootProject.ext.minSdkVersion
            targetSdkVersion rootProject.ext.targetSdkVersion
            // 其他配置...
        }
    
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_11
            targetCompatibility JavaVersion.VERSION_11
            coreLibraryDesugaringEnabled true // 开启脱糖以兼容低版本系统
        }
    
        // 若使用Kotlin,需同步设置JVM目标版本
        kotlinOptions {
            jvmTarget = '11'
        }
    }
    
    dependencies {
        coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4' // 脱糖依赖库
    }
    
  • 验证Android Studio的Gradle JDK配置

    1. 打开File > Settings > Build, Execution, Deployment > Build Tools > Gradle
    2. 确认Gradle JDK选择本地安装的Java 11(避免使用Embedded JDK)
    3. 应用设置后重启Android Studio
  • 同步并清理项目

    • 点击工具栏的Sync Project with Gradle Files按钮同步配置
    • 执行Build > Clean Project和Build > Rebuild Project
    • 清除IDE缓存:File > Invalidate Caches... > Invalidate and Restart
  • 检查源码语言级别
    打开File > Project Structure > Modules > [你的App模块] > Sources
    确认Language level设置为11 - Local variable syntax for lambda parameters(或对应Java11的级别)


内容的提问来源于stack exchange,提问作者Kim Mỹ

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 05:48:18