添加FirebaseUI依赖时遭遇Manifest合并失败问题求助
解决添加FirebaseUI后Manifest合并失败的问题
这种Manifest合并失败的情况,大概率是FirebaseUI依赖的Android Support Library版本和你现有项目的版本不兼容导致的。你当前项目用的是26.1.0的support库,而FirebaseUI的不同版本对应着特定的support库版本,版本不匹配就会触发Manifest合并冲突。
下面给你两种可行的解决办法:
方案一:统一项目与FirebaseUI的Support Library版本
FirebaseUI和Support Library的版本对应关系是固定的,比如:
- FirebaseUI 4.x → Support Library 27.x
- FirebaseUI 5.x → Support Library 28.x
- 如果你坚持用26.1.0的support库,需要找对应版本的FirebaseUI(比如FirebaseUI 3.3.1)
举个例子,如果你选择升级support库到27.1.1,同时匹配对应的FirebaseUI版本,修改你的dependencies如下:
dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" // 升级support库到和FirebaseUI兼容的版本 implementation 'com.android.support:appcompat-v7:27.1.1' implementation 'com.android.support.constraint:constraint-layout:1.1.3' implementation 'com.android.support:design:27.1.1' implementation 'com.google.firebase:firebase-auth:16.0.5' // 添加对应版本的FirebaseUI,比如4.3.1 implementation 'com.firebaseui:firebase-ui-auth:4.3.1' }
方案二:强制所有依赖使用统一的Support Library版本
如果你不想升级现有项目的support库,可以通过Gradle的强制配置,让所有依赖都使用你指定的版本,避免冲突。在你的app模块的build.gradle中添加以下配置:
configurations.all { resolutionStrategy { // 强制所有依赖使用你项目中的support库版本 force 'com.android.support:appcompat-v7:26.1.0' force 'com.android.support:design:26.1.0' force 'com.android.support:support-v4:26.1.0' // 根据需要添加其他support库组件 } }
添加完这个配置后,再同步Gradle,FirebaseUI依赖的support库就会被强制替换成你指定的26.1.0版本,从而解决Manifest合并冲突。
内容的提问来源于stack exchange,提问作者user9592284
相关产品推荐
相关产品推荐

