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

Flutter运行报unrecognized Attribute name MODULE错误问题咨询

问题原因
  • 版本不兼容是核心问题:Flutter 2.5.3为2021年发布的旧版本,配套的默认Android Gradle插件(AGP)、Gradle版本均不支持Java 17的字节码特性。错误信息里的MODULE属性是Java 9+引入的模块系统专属属性,低版本的javac编译器无法识别该属性,最终触发编译失败。
  • 第三方插件适配问题:报错指向geolocator_android插件,该插件的高版本默认采用更高的Java版本规范编译,和项目旧的编译工具链不匹配。
解决方法

方案1:降级JDK版本(最简便,无需修改项目配置)

将本地JDK版本替换为Java 11,这是Flutter 2.5.3版本官方适配的最佳JDK版本,替换后重新执行构建即可。

方案2:升级项目编译工具链(不想换JDK可选择)

  1. 打开项目根目录下android/build.gradle文件,将AGP版本升级到7.0+,示例:
dependencies {
    classpath 'com.android.tools.build:gradle:7.0.4'
    // 保持其他配置不变
}
  1. 打开android/gradle/wrapper/gradle-wrapper.properties文件,将Gradle版本升级到7.3+,示例:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
  1. 打开android/app/build.gradle文件,在android配置块下添加Java版本指定:
android {
    // 原有配置保持不变
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_11
        targetCompatibility JavaVersion.VERSION_11
    }
    kotlinOptions {
        jvmTarget = '11'
    }
}

方案3:降级geolocator_android插件版本

在项目的pubspec.yaml文件中强制指定低版本的geolocator_android插件:

dependency_overrides:
  geolocator_android: 2.1.0

执行flutter pub get后重新构建即可。

内容的提问来源于stack exchange,提问作者Ana Cecília

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 02:39:03