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

Android Studio构建报错:无法访问java.lang.Record类文件

解决Android Studio构建时cannot access Record报错的方案

核心原因

尽管你本地已配置JDK 17,但Android Gradle插件(AGP)默认可能限制了源/目标兼容性,或是未在构建流程中正确关联JDK 17,导致构建阶段无法找到java.lang.Record类。

具体修复步骤

1. 修改模块级build.gradle(或build.gradle.kts)配置

确保源兼容性、目标兼容性及Kotlin的JVM目标均设置为17:

  • Groovy DSL示例:
android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }

    kotlinOptions {
        jvmTarget = "17"
    }
}
  • Kotlin DSL示例:
android {
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_17
        targetCompatibility = JavaVersion.VERSION_17
    }

    kotlinOptions {
        jvmTarget = "17"
    }
}

2. 校验项目级JDK配置

  • 打开File > Project Structure > Project,确认Project SDK选择JDK 17,Project language level设置为17 - Sealed classes, interfaces, records。
  • 进入Modules > [你的模块] > Sources,检查Language level是否为17。

3. 清理并重新构建

  • 执行Build > Clean Project,再执行Build > Rebuild Project清除旧构建缓存。
  • 若无效,手动删除项目根目录下的.gradle和build文件夹后重新构建。

4. 升级AGP版本

AGP 7.3及以上版本对JDK 17的支持更完善,在项目级build.gradle/build.gradle.kts中升级插件版本:

// 项目级build.gradle示例
buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:7.3.0' // 或更高兼容版本
    }
}

5. 排查第三方依赖兼容性

检查项目依赖的第三方库是否使用低版本Java编译,尝试将相关依赖升级到最新版本,避免版本冲突。


内容的提问来源于stack exchange,提问作者Rishabh Kabra

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 06:54:54