【问题标题】:Error in adding dependency for firebase-ui-auth:2.3.0为 firebase-ui-auth:2.3.0 添加依赖项时出错
【发布时间】:2018-02-26 07:25:12
【问题描述】:
我从昨天开始就面临这个问题......我补充说:
//Add Library
compile 'com.android.support:design:26.1.0'
compile 'com.firebaseui:firebase-ui:0.2.0'
compile 'com.google.android.gms:play-services-auth:11.2.2'
compile 'com.google.firebase:firebase-auth:11.2.2'
该应用程序剩下的唯一代码是:
compile 'com.firebaseui:firebase-ui-auth:2.3.0'
我一添加这个就出现错误:
错误:任务 ':app:processDebugManifest' 执行失败。
清单合并失败:属性 meta-data#android.support.VERSION@value value=(26.1.0) from [com.android.support:design:26.1.0] AndroidManifest.xml:28:13-35
也存在于 [com.android.support:customtabs:26.0.1] AndroidManifest.xml:25:13-35 value=(26.0.1)。
建议:将 'tools:replace="android:value"' 添加到 AndroidManifest.xml:26:9-28:38 的元素以覆盖。
我已经尝试编译 'com.firebaseui:firebase-ui-auth:1.2.0' 但没有用。
需要帮助!在此先感谢:)
【问题讨论】:
标签:
android
firebase
firebase-authentication
firebaseui
【解决方案1】:
在 firebase UI 自述文件中检查 this link:
如果您想使用 FirebaseUI 的传递依赖项之一的较新版本,例如 Firebase、Play 服务或 Android 支持库,您需要添加显式编译声明 在您的 build.gradle 中用于您要使用的版本的 FirebaseUI 的所有依赖项。
例如,如果您想使用 Play 服务/Firebase 版本 FOO 并支持库版本 BAR,请为您正在使用的每个 FirebaseUI 模块添加以下额外行:
授权:
compile "com.google.firebase:firebase-auth:$FOO"
compile "com.google.android.gms:play-services-auth:$FOO"
compile "com.android.support:design:$BAR"
compile "com.android.support:customtabs:$BAR"
compile "com.android.support:cardview-v7:$BAR"
那么在你的情况下你必须使用:
compile "com.android.support:design:26.1.0"
compile "com.android.support:customtabs:26.1.0"
compile "com.android.support:cardview-v7:26.1.0"
【解决方案2】:
compile 'com.firebaseui:firebase-ui-auth:2.3.0'
当您的 FirebasuUi 版本为 2.3.0 时,您的 Firebase/Play 服务版本必须为 11.0.4
你的图书馆
//Add Library
compile 'com.android.support:design:26.1.0' //--->Same to your buildToolVersion
compile 'com.firebaseui:firebase-ui:0.2.0' //--->2.3.0
compile 'com.google.android.gms:play-services-auth:11.2.2' //--->11.0.4
compile 'com.google.firebase:firebase-auth:11.2.2' //--->11.0.4
注意
到目前为止,最新的 buildToolVersion 是 26.0.2 。
【解决方案3】:
我遵循这个建议:
建议:在元素中添加 'tools:replace="android:value"'
AndroidManifest.xml
因此,将此元数据添加到我的清单中可以解决我的问题:
<meta-data
tools:replace="android:value"
android:name="android.support.VERSION"
android:value="26.1.0" />