添加Braintree依赖后出现Manifest合并失败,请问可能原因是什么?
Braintree依赖引入Manifest合并失败排查方向
- minSdk版本不兼容:Braintree Drop-in 5.3.0要求最低
minSdkVersion为21,若你的:vtg模块配置的minSdk低于21,会触发manifest合并冲突。该问题有时不会直接在Merged Manifest标签页展示,可在构建输出日志中搜索minSdkVersion关键字查看具体冲突信息。 - Android 12+组件属性冲突:如果你的项目
targetSdkVersion≥31,所有四大组件必须显式声明android:exported属性。Braintree引入的支付相关Activity、3DS验证组件若和你项目内自定义的同类型组件属性配置冲突,也会触发合并失败,需检查你模块下主manifest及各构建变体manifest的组件声明。 - 第三方依赖包冲突:Braintree内部依赖的Cardinal Commerce SDK如果和你项目中其他支付类SDK引入的同名包版本不一致,会导致manifest内的组件、权限声明重复冲突。你可以执行命令
./gradlew :vtg:dependencies查看依赖树,排查Braintree相关依赖是否存在版本不一致的情况。 - 构建缓存异常:Gradle或Android Studio构建缓存损坏会触发虚假的manifest合并报错,可依次执行以下操作重试:
- 执行
./gradlew clean清理项目构建缓存 - 点击Android Studio菜单
File -> Invalidate Caches...重启IDE
- 执行
- 构建变体配置差异:你当前报错的是
DevDebug构建变体,若你在dev/debug专属的manifest源集中配置了和Braintree引入的声明冲突的内容,默认选中其他变体的Merged Manifest标签页不会显示错误,需要先在IDE的构建变体面板切换到DevDebug,再查看Merged Manifest的具体报错。
内容的提问来源于stack exchange,提问作者Aanal Shah
相关产品推荐
相关产品推荐

