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

M1 Mac 环境下Flutter项目在Android设备及模拟器运行时报Javac编译错误

可行解决方案

方案1:切换为Android Studio内置JDK(优先推荐,新手友好)

  • 打开Android Studio,进入Preferences(顶部菜单栏点击Android Studio -> 选择Settings/Preferences)
  • 依次找到Build, Execution, Deployment -> Build Tools -> Gradle配置页
  • 在Gradle JDK下拉选项中选择Embedded JDK(Android Studio自带的JDK版本默认和Gradle版本适配,无兼容问题)
  • 保存配置后,进入Flutter项目根目录,依次执行以下命令清理缓存:
    flutter clean
    flutter pub get
    
  • 清理完成后重新连接安卓设备运行项目即可。

方案2:匹配项目Gradle与JDK版本

该报错核心原因是低版本Gradle与高版本JDK不兼容:JDK16及以上版本收紧了内部模块的导出权限,7.3以下版本的Gradle未适配该规则,运行就会触发权限错误。

  • 打开Flutter项目下的android/gradle/wrapper/gradle-wrapper.properties文件,查看distributionUrl参数对应的Gradle版本:
    • Gradle版本 ≤7.2:必须搭配JDK11及以下版本使用
    • Gradle版本 ≥7.3:可搭配JDK17使用
  • 若不想修改本地JDK版本,可直接升级项目Gradle版本,将distributionUrl修改为适配高版本JDK的版本,示例(适配JDK17):
    distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip
    
  • 同步修改android/build.gradle文件中的Android Gradle插件版本,需和Gradle版本对应:
    Gradle7.6.x对应的插件版本为7.4.x,修改示例:
    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.2'
    }
    
  • 修改完成后执行flutter clean、flutter pub get,再重新运行项目即可。

M1芯片安卓模拟器无法运行补充方案

M1芯片为ARM架构,无法兼容x86架构的安卓模拟器镜像,按以下步骤修改即可:

  • 打开Android Studio的SDK Manager,进入SDK Platforms标签页,勾选右上角Show Package Details
  • 展开你需要使用的Android系统版本子项,选择后缀为ARM 64 v8a的系统镜像下载安装,不要选择x86/x86_64架构的镜像
  • 新建模拟器时选择已安装的ARM架构镜像,即可正常启动运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 01:45:00