Flutter项目AndroidManifest.xml构建失败的原因及修复方案
Flutter项目构建失败(:app:processDebugMainManifest任务异常)问题分析与修复
可能的问题原因
- Gradle插件与Kotlin版本不兼容:你使用的Android Gradle Plugin 7.0.2和Kotlin 1.8.10版本不匹配,高版本Kotlin与低版本AGP存在兼容性问题,直接导致清单处理任务执行失败。
- JCenter仓库已废弃:配置中仍在使用
jcenter()仓库,该仓库已停止维护,部分依赖无法正常拉取,间接引发构建异常。 - 潜在清单合并冲突:主清单文件语法无明显错误,但第三方插件的清单可能与主清单存在属性冲突(如重复的meta-data、权限声明等)。
修复方法
1. 调整Kotlin版本适配AGP
修改项目根目录build.gradle中的Kotlin版本为AGP 7.0.2兼容的版本(推荐1.5.31):
buildscript { // 将原1.8.10改为1.5.31 ext.kotlin_version = '1.5.31' repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.0.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }
2. 替换废弃的JCenter仓库
将所有jcenter()替换为mavenCentral()(当前主流的Maven仓库),修改后的完整根目录build.gradle如下:
buildscript { ext.kotlin_version = '1.5.31' repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.0.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects { repositories { google() mavenCentral() } } rootProject.buildDir = '../build' subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" project.evaluationDependsOn(':app') } task clean(type: Delete) { delete rootProject.buildDir }
3. 清理构建缓存并重新构建
执行以下命令清理缓存、更新依赖后重新运行项目:
flutter clean flutter pub get flutter run
4. 排查清单合并冲突
若上述步骤无效,执行flutter run -v获取完整构建日志,定位清单合并失败的具体原因:
- 若存在重复的meta-data或权限声明,移除重复内容;
- 若属性冲突(如组件的
exported属性),可在清单根节点添加xmlns:tools="http://schemas.android.com/tools",然后使用tools:replace属性覆盖冲突配置。
内容的提问来源于stack exchange,提问作者Sv1ra
相关产品推荐
相关产品推荐

