You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio运行Kotlin项目报Manifest merger failed错误如何解决?

问题原因
  • 你的项目targetSdk设置为31(对应Android 12版本),Android 12强制要求:所有带<intent-filter>的四大组件(Activity、Service、BroadcastReceiver)必须显式声明android:exported属性,该规则同时适用于你自己编写的组件和所有依赖库、测试库中包含的组件。
  • 你自己的主Manifest中已经给MainActivity加了android:exported="true",所以主构建流程的Manifest校验是通过的,报错出现在测试构建的Manifest合并阶段:你引入的androidx.test.ext:junit:1.1.2、androidx.test.espresso:espresso-core:3.3.0版本较低,这些版本发布时Android 12还未推出,库内部自带的测试相关Activity没有声明android:exported属性,合并测试Manifest时就触发了校验失败。
  • 无Activity项目运行正常的原因:新建无Activity项目时默认使用的测试依赖版本已经适配了Android 12的规则,或是没有引入包含未声明exported属性组件的测试库,不会触发合并校验报错。
解决方案

两种方案二选一即可:

  • 方案一:升级测试依赖到适配Android 12的版本,修改build.gradle中的依赖配置:
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'

修改后重新同步Gradle即可。

  • 方案二:如果不需要适配Android 12,可以把build.gradle中的targetSdk和compileSdk都修改为30,跳过Android 12的强制校验规则。

内容的提问来源于stack exchange,提问作者Edwin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 03:36:03