Flutter构建报错exit code 1:XML无效字符及Prolog内容异常求助
解决Gradle assembleDebug因POM文件XML错误失败的方案
问题根源
这两个XML错误都是本地Gradle缓存里的依赖POM文件损坏导致的,重装Android Studio、执行gradlew clean/gradlew build没用,是因为这些操作没清理掉损坏的缓存文件。
具体解决步骤
彻底清理Gradle本地缓存
找到Gradle缓存目录:- Windows:
C:\Users\<你的用户名>\.gradle\caches - Mac/Linux:
~/.gradle/caches
删除目录下的modules-2文件夹(这是存放依赖POM和jar包的核心目录),也可以用命令快速清理:
# Windows gradlew cleanBuildCache # Mac/Linux ./gradlew cleanBuildCache- Windows:
清理项目本地构建缓存
执行以下命令清理Flutter和项目的本地构建文件:flutter clean flutter pub get同时手动删除项目根目录的
build文件夹,以及android/build、android/app/build文件夹。重新构建项目
回到项目根目录,执行:gradlew assembleDebug让Gradle重新下载所有依赖的完整、未损坏的POM文件和包。
检查Kotlin版本一致性(可选)
打开项目的android/build.gradle文件,确保项目级和模块级的Kotlin版本统一,比如都设置为1.6.10:
项目级build.gradle示例:buildscript { ext.kotlin_version = '1.6.10' repositories { google() mavenCentral() } // ...其他配置 }模块级(
android/app/build.gradle)示例:apply plugin: 'kotlin-android' // ...其他配置手动替换损坏POM文件(极端情况)
如果清理缓存后仍下载到损坏文件,可手动去Maven仓库下载对应版本的官方POM文件,替换Gradle缓存中对应路径下的损坏文件。
内容的提问来源于stack exchange,提问作者Vishmay Dhruv
相关产品推荐
相关产品推荐

