添加flutter_geofire后出现Gradle构建错误,寻求解决方案
解决flutter_geofire引入后的Gradle POM解析错误
问题重现
添加flutter_geofire依赖后,构建时触发以下错误:
[Fatal Error] gradle-4.1.3.pom:2:1: Content is not allowed in prolog. FAILURE: Build failed with an exception. - 出错原因: 配置项目':flutter_geofire'时出现问题。 > 无法解析配置':flutter_geofire:classpath'的所有文件。 > 无法解析com.android.tools.build:gradle:4.1.3。 > 无法解析POM文件https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/4.1.3/gradle-4.1.3.pom > Content is not allowed in prolog. > 通知项目评估监听器失败,无法获取项目':flutter_geofire'的'android'属性。
已尝试flutter clean、flutter upgrade、修改classpath,问题未解决。
解决方案
替换Maven镜像,解决网络下载异常
修改项目根目录的build.gradle文件,将原有的google()和mavenCentral()替换为国内镜像仓库:repositories { maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/public' } }同时检查flutter_geofire模块的
build.gradle,确保仓库配置一致。手动修复损坏的POM缓存文件
- 访问指定POM文件链接,确认文件可正常打开后下载到本地。
- 找到本地Gradle缓存目录:
- Mac/Linux:
~/.gradle/caches/modules-2/files-2.1/com.android.tools.build/gradle/4.1.3/ - Windows:
C:\Users\<你的用户名>\.gradle\caches\modules-2\files-2.1\com.android.tools.build\gradle\4.1.3\
- Mac/Linux:
- 将下载好的POM文件替换缓存目录中的对应文件。
彻底清除Gradle缓存,重新下载依赖
删除本地Gradle缓存文件夹,再触发构建:- Mac/Linux终端执行:
rm -rf ~/.gradle/caches - Windows直接删除
C:\Users\<你的用户名>\.gradle\caches文件夹
之后运行flutter run重新构建项目。
- Mac/Linux终端执行:
调整flutter_geofire的Gradle版本兼容性
打开项目中flutter_geofire模块的android/build.gradle文件,将classpath 'com.android.tools.build:gradle:4.1.3'修改为与主项目一致的Gradle版本,同时确保gradle wrapper版本也匹配。
内容的提问来源于stack exchange,提问作者Hearty
相关产品推荐
相关产品推荐

