引入部分Flutter包导致项目构建出现Gradle错误,如何解决?
问题场景
新创建的Flutter项目可正常运行,但引入部分包(例如flutter_chat_ui)后出现Gradle构建失败,具体报错如下:
FAILURE: Build failed with an exception.
出错原因:配置项目':flutter_plugin_android_lifecycle'时发生问题。
无法解析配置':flutter_plugin_android_lifecycle:classpath'的所有文件。
找不到gradle-7.2.1.jar(com.android.tools.build:gradle:7.2.1)。
已在以下位置搜索:https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/7.2.1/gradle-7.2.1.jar
找不到builder-7.2.1.jar(com.android.tools.build:builder:7.2.1)。
已在以下位置搜索:
https://dl.google.com/dl/android/maven2/com/android/tools/build/builder/7.2.1/builder-7.2.1.jar
找不到protos-30.2.1.jar(com.android.tools.analytics-library:protos:30.2.1)。
已在以下位置搜索:
https://dl.google.com/dl/android/maven2/com/android/tools/analytics-library/protos/30.2.1/protos-30.2.1.jar
通知项目评估监听器失败。
无法为类型为org.gradle.api.Project的项目':flutter_plugin_android_lifecycle'获取未知属性'android'。
无法为类型为org.gradle.api.Project的项目':flutter_plugin_android_lifecycle'获取未知属性'android'。建议操作:
使用--stacktrace选项获取堆栈跟踪。
使用--info或--debug选项获取更多日志输出。
使用--scan选项获取完整分析信息。
解决步骤
按顺序尝试以下方案:
1. 替换Maven镜像源(解决网络访问问题)
如果无法正常访问Google Maven仓库,修改项目android/build.gradle文件,替换为国内镜像:
buildscript { repositories { maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.2.1' // 保留其他原有依赖 } } allprojects { repositories { maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } mavenCentral() } }
2. 清理缓存并重新构建
执行以下命令清理本地缓存,重新拉取依赖:
flutter clean # Windows系统删除C:\Users\<你的用户名>\.gradle\caches目录 rm -rf ~/.gradle/caches flutter pub get flutter run
3. 统一Gradle与Android插件版本
检查版本兼容性,修改android/gradle/wrapper/gradle-wrapper.properties中的Gradle版本(Android插件7.2.1对应Gradle 7.3.3):
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip
同时确认android/build.gradle中的插件版本保持一致:
buildscript { dependencies { classpath 'com.android.tools.build:gradle:7.2.1' } }
4. 修复flutter_plugin_android_lifecycle模块配置
找到项目中:flutter_plugin_android_lifecycle模块的build.gradle文件,确保顶部已应用Android插件:
apply plugin: 'com.android.library' apply plugin: 'kotlin-android'
5. 更新Flutter SDK到稳定版
执行命令升级Flutter,修复潜在的插件兼容性问题:
flutter upgrade
内容的提问来源于stack exchange,提问作者Alex Wright

