请在下面找到来自android的Manifest合并文档的摘录。
tools:node=将低优先级声明替换为带注释的声明。
现在我有了一个XXX主题的库和一个主题为YYY的应用程序。在编译YYY时,我得到了由于合并而导致的错误,建议的解决方案是替换主题。
我想知道在我的库和应用程序之间,哪个是低优先级的?另外,当我在我的应用程序清单中使用tool:replace进行主题替换时,会发生什么?简而言之,谁取代了谁?
发布于 2018-06-12 04:44:55
库的清单的优先级低于应用程序的清单。这是基于这里的页面:https://developer.android.com/studio/build/manifest-merge#merge_priorities
发布于 2014-12-19 15:46:37
如果您将tools:replace
添加到应用程序的主题中,则这将使用YYY重写库的主题XXX。如果您尝试将tools:replace
添加到库的主题中,这将不会引发错误,但也不会产生任何影响,这意味着它不会强制执行XXX主题。
我认为原因是,库首先被编译,它的清单被“合并”到应用的清单中,因此合并的方向因此被定义。
据我所知,合并优先级指的是构建变体、ABI等,而不是应用程序/库关系。
https://stackoverflow.com/questions/24495103
复制相似问题