新建Flutter项目运行失败:':gradle:compileGroovy'任务执行出错
Flutter项目Gradle解析org.codehaus.groovy依赖失败的解决办法
1. 核对Gradle与Groovy版本兼容性
Gradle和Groovy有严格的版本对应关系,比如Gradle 7.x适配Groovy 3.x,Gradle 8.x适配Groovy 4.x。
- 打开项目
android/gradle/wrapper/gradle-wrapper.properties,查看distributionUrl里的Gradle版本 - 打开
android/build.gradle,检查buildscript.dependencies中的AGP版本(classpath 'com.android.tools.build:gradle:x.x.x'),确保和Gradle版本匹配 - 版本不兼容的话,升级或降级Gradle到对应兼容版本,比如把Gradle升到8.0+,同时AGP升到7.4+
2. 切换国内镜像源解决网络拉取问题
多数情况是网络无法访问官方仓库导致依赖拉取失败,修改android/build.gradle:
buildscript { repositories { maven { url 'https://maven.aliyun.com/repository/public' } maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } google() mavenCentral() } } allprojects { repositories { maven { url 'https://maven.aliyun.com/repository/public' } maven { url 'https://maven.aliyun.com/repository/google' } google() mavenCentral() } }
3. 手动指定Groovy依赖版本
在android/build.gradle的buildscript里明确添加Groovy依赖,对应Gradle版本选择合适的Groovy版本:
buildscript { dependencies { // Gradle 8.x选4.0.0+版本,比如4.0.11 classpath 'org.codehaus.groovy:groovy-all:4.0.11' classpath 'com.android.tools.build:gradle:7.4.2' } }
4. 清理后重新构建
- 执行Flutter清理:
flutter clean - 进入android目录刷新依赖并构建:
cd android && ./gradlew clean build --refresh-dependencies - 回到根目录重新运行项目:
flutter run
5. 检查本地Gradle环境
- 用
gradle -v查看本地Gradle版本,确保和项目指定版本一致 - 版本不匹配的话,下载对应版本配置环境变量,或者让Gradle wrapper自动下载(保证网络正常)
内容的提问来源于stack exchange,提问作者MHD Rajab Alkahef
相关产品推荐
相关产品推荐

