React-native集成react-native-braintree-dropin-ui出现Manifest合并错误如何解决
问题根因
该报错是项目使用的Android Gradle Plugin (AGP) 版本 >=7.0,与react-native-braintree-dropin-ui依赖的旧版com.braintreepayments.api:braintree:3.18.0不兼容导致。AGP7.0+对AndroidManifest.xml格式校验规则更严格,旧版Braintree库的Manifest文件内
排查解决步骤
方案1:强制指定Braintree依赖版本(优先使用,无需调整项目基础配置)
在项目android/build.gradle文件的allprojects块内、repositories配置上方添加强制依赖规则:allprojects { configurations.all { resolutionStrategy { force 'com.braintreepayments.api:braintree:3.21.0' force 'com.braintreepayments.api:drop-in:5.2.2' } } repositories { // 原有仓库配置保持不变 } }配置完成后清理缓存重新构建即可:
cd android && ./gradlew clean cd .. && npx react-native run-android方案2:降级AGP版本(适配方案1不生效的场景)
如果项目可接受降低AGP版本,将android/build.gradle内的Android构建插件版本降到4.2.2及以下:dependencies { classpath 'com.android.tools.build:gradle:4.2.2' // 其余classpath配置保持不变 }同时同步修改
android/gradle/wrapper/gradle-wrapper.properties内的Gradle版本为6.7.1:distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip方案3:升级
react-native-braintree-dropin-ui版本
如果项目RN版本>=0.60,直接升级该库到最新正式版即可,新版已经适配高版本AGP的校验规则:# npm npm install react-native-braintree-dropin-ui@latest --save # yarn yarn add react-native-braintree-dropin-ui@latest
内容的提问来源于stack exchange,提问作者Aniruddh kukadiya
相关产品推荐
相关产品推荐

