关于工具的Android Manifest合并混淆:替换

时间:2014-06-30 16:49:51

标签: android

请在下面找到来自Android的Manifest Merger文档的摘录。

  

tools:node =“replace”将低优先级声明替换为   注释一个。

现在我有一个带有XXX主题的图书馆和一个主题为YYY的应用程序。在编译YYY时,由于合并而得到错误,建议的解决方案是替换主题。

我想知道我的图书馆和应用程序,这是低优先级?当我使用工具时会发生什么:在我的app清单中替换主题替换?即总之谁取代谁?

2 个答案:

答案 0 :(得分:1)

图书馆的清单优先于应用程序的清单。这基于此页面:https://developer.android.com/studio/build/manifest-merge#merge_priorities

答案 1 :(得分:0)

如果您将tools:replace添加到应用的主题中,则会使用YYY覆盖图书馆的主题XXX。 如果您尝试将tools:replace添加到图书馆的主题中,这不会引发错误,但也不会产生任何影响,这意味着,它不会强制执行 XXX主题。

我认为原因是,首先编译库并将其清单合并到#34;应用程序的清单,因此定义了合并的方向

据我了解合并优先级,它们指的是构建变体,ABI等,而不是app / library关系。