gpt4 book ai didi

android - 在 2 个功能模块中导入同一个库时 list 合并失败

转载 作者:太空狗 更新时间:2023-10-29 13:50:38 25 4
gpt4 key购买 nike

我遇到了一个构建问题,gradle 提示“getMergedManifest failed manifest merger failed”

日志中的错误显示如下行:

WARN - .tools.idea.model.ManifestInfo - getMergedManifest failed Manifest merger failed : Attribute provider#com.google.firebase.provider.FirebaseInitProvider@authorities value=(com.xxxxxxxxxx.feature_team.firebaseinitprovider) from AndroidManifest.xml:10:13-72
is also present at AndroidManifest.xml:36:559-633 value=(com.xxxxxxxxx.base.firebaseinitprovider).
Suggestion: add 'tools:replace="android:authorities"' to <provider> element at AndroidManifest.xml:8:9-12:39 to override.

我应该在这里做什么?我的任何 list 文件中都没有任何权限部分。当在 2 个功能模块中导入相同的共享库时出现错误,结果取决于某些谷歌库。我确信所有版本的外部库都是相同的。任何人都知道如何解决这个问题?

-------- 编辑。仍然有错误------。

......./base/src/main/AndroidManifest.xml:70:13-46 Error:
Attribute activity#com.facebook.LoginActivity@splitName value=(feature_match) from [:feature_match] AndroidManifest.xml:70:13-46
is also present at [:feature_topvoters] AndroidManifest.xml:73:13-50 value=(feature_topvoters).

Suggestion: add 'tools:replace="android:splitName"' to <activity>
element at AndroidManifest.xml:68:9-71:75 to override.

......./base/src/main/AndroidManifest.xml:74:13-46 Error:
Attribute activity#com.github.gorbin.asne.core.OAuthActivity@splitName value=(feature_match) from [:feature_match] AndroidManifest.xml:74:13-46
is also present at [:feature_topvoters] AndroidManifest.xml:77:13-50 value=(feature_topvoters).

Suggestion: add 'tools:replace="android:splitName"' to <activity> element at AndroidManifest.xml:72:9-75:80 to override.

基本上,当我尝试在两个功能模块中添加相同的库时,问题就出现了。我需要告诉 list 什么来防止这种合并冲突。来自功能模块的两个 list 文件都是空的。它必须是导致问题的第三方 list 文件。

我认为多功能/模块结构会增加架构。但到现在为止,我真的认为拥有一个大模块要容易得多。整个 gradle 构建模型中存在太多问题。

最佳答案

好的,经过 10 小时的努力寻找解决方案后,我得出了以下结论:

我克隆了导致问题的库 (Facebook)。我没有针对 maven 进行编译,而是创建了一个新库并将 facebook SDK 的完整源代码放入其中。在该 facebook SDK 的 manifest.xml 中,定义了一个 Activity :

<activity
tools:replace="android:theme"
android:name="com.facebook.LoginActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
/>

我从 manifest.xml 中删除了 Activity ,并将 Activity 定义移到了主应用程序 manifest.xml 中通过这种方式, list 合并不会尝试合并两个相同的 Activity 定义,而是使用主应用程序中定义的 Activity 定义。作品。但这当然是一个糟糕的解决方案。不确定这是否是构建过程中的错误。我花了 20 多个小时试图解决这个问题。找不到方法。多模块应用不易构建。

关于android - 在 2 个功能模块中导入同一个库时 list 合并失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48016138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com