Android manifest 与 facebook 和 firebase 库合并
Posted
技术标签:
【中文标题】Android manifest 与 facebook 和 firebase 库合并【英文标题】:Android manifest merger with facebook and firebase libraries 【发布时间】:2016-11-01 06:35:45 【问题描述】:我在我的项目中导入了 2 个库(在 gradle 文件中):
...
/* Firebase UI */
compile 'com.firebaseui:firebase-ui:0.4.0'
/* Facebook login */
compile 'com.facebook.android:facebook-android-sdk:4.13.0'
但是在构建我的项目时出现以下错误:
D:\Android\Projects\quoter\app\src\main\AndroidManifest.xml:68:13-58 错误:属性活动#com.facebook.FacebookActivity@theme value=(@style/FirebaseUI.Translucent) 来自 [com.firebaseui:firebase-ui-auth:0.4.0] AndroidManifest.xml:68:13-58 也出现在 [com.facebook.android:facebook-android-sdk:4.13.0] AndroidManifest.xml:32:13-72 值=(@android:style/Theme.Translucent.NoTitleBar)。建议:加 'tools:replace="android:theme"' 到元素 AndroidManifest.xml:64:9-68:61 覆盖。
我找到了包含 Facebook sdk 和 Firebase UI 库清单文件的扩展 jar,但我不确定更改它们是否是解决此错误的正确方法,因为每次我清理并重新构建我的新项目时清单也会生成...
我该如何解决这个错误?在我看来,这两个库之间不兼容......
注意:在我的应用清单中添加以下内容
<application
tools:node="replace"
解决了这个问题,但是由于 Firebase 没有正确初始化,所以无法启动应用程序(参见https://***.com/a/38060272/6503817)
【问题讨论】:
我解决了在我的应用程序清单中定义有问题的 DavideN 谢谢!你节省了我玩它的时间! 【参考方案1】:FirebaseUI 已经为您编译了 Facebook,因此当您尝试同步时,它基本上会抛出错误,因为您尝试编译相同的东西两次。
删除compile 'com.facebook.android:facebook-android-sdk:4.13.0'
并保留:compile 'com.firebaseui:firebase-ui:0.4.0'
你就完成了!
别担心!您仍然可以使用 Facebook 登录
【讨论】:
【参考方案2】:很遗憾,“tools:replace”对我不起作用,但 Firebase UI 中的 GitHub 问题有一个解决方案 https://github.com/firebase/FirebaseUI-Android/issues/230
但 FirebaseUI 已经依赖于 SDK 4.11.0 版本。你可以尝试移除你的 Facebook 依赖,只依赖 FirebaseUI 带来的传递依赖吗?
【讨论】:
【参考方案3】:我建议您浏览一下文档,提供FirebaseUI Android 和FirebaseUI Auth Android。它们非常彻底,很可能会消除您的疑虑。
【讨论】:
以上是关于Android manifest 与 facebook 和 firebase 库合并的主要内容,如果未能解决你的问题,请参考以下文章
与 android manifest 上的活动标签冲突:Unity3d 中的 Facebook 和 Google Play 游戏
解决Android Studio添加依赖时出现“Manifest merger failed
Android解决android:supportsRtl 不生效或者 manifest文件出错