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

在Android Studio中运行Flutter代码报IllegalAccessError错误如何解决?

问题根因

该错误为Gradle版本与JDK版本不兼容导致:JDK 16及以上版本收紧了模块化访问规则,你当前使用的Gradle版本未适配该规则,无法访问JDK内部的com.sun.tools.javac.code包下的类,就会抛出该非法访问错误。
你提供的flutter doctor运行结果显示所有Flutter依赖均已配置正常,无需额外补全环境组件。

解决方案
  • 方案1:使用Android Studio自带的适配JDK(推荐,无需修改项目配置)
    打开Android Studio进入项目,依次选择File > Settings > Build, Execution, Deployment > Build Tools > Gradle,在「Gradle JDK」下拉选项中选择Embedded JDK,应用设置后重新构建项目即可。
    如果使用命令行运行项目,可临时指定JAVA_HOME为Android Studio自带JDK路径:
    • Windows默认路径:C:\Program Files\Android\Android Studio\jre
    • Mac默认路径:/Applications/Android Studio.app/Contents/jre/Contents/Home
    • Linux默认路径:/opt/android-studio/jre
  • 方案2:升级项目Gradle版本匹配本地高版本JDK
    如果要继续使用你本地安装的高版本JDK,可升级项目的Gradle配置:
  1. 打开项目/android/gradle/wrapper/gradle-wrapper.properties文件,修改distributionUrl字段的Gradle版本,JDK17对应需要Gradle 7.3+版本,示例:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
  1. 打开项目/android/build.gradle文件,升级Android Gradle插件版本到对应匹配版本,Gradle 7.4对应插件版本为7.0.0+,示例:
buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:7.0.4'
    }
}

修改完成后同步Gradle重新运行项目即可。

  • 方案3:降级全局JDK到JDK11
    如果不想逐个修改项目配置,可将本地全局安装的JDK版本降级到JDK11,该版本是当前Flutter安卓构建兼容性最好的JDK版本,降级后配置好JAVA_HOME环境变量即可全局生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 10:24:00