突然间,我在我的Android项目中遇到了这个构建错误:
unexpected element <queries> found in <manifest>
我该怎么修?
Android Gradle插件需要了解新的清单元素,特别是清单合并过程。 如果插件在清单合并中看到它无法识别的元素,它就有一种混淆的倾向,抛出像问题中那样的构建错误。
在本例中,Android 11引入了
作为清单元素,而Android Gradle插件的旧版本不知道该元素。
这种情况发生在清单合并中,这意味着仅仅升级一个依赖项就可能导致这种错误。 例如,如果您升级到com.awesom:awesom-library
的最新版本,并且它的清单中包含一个
元素,那么即使在代码中没有任何其他更改,您也可能在构建中出现上述错误。
谷歌发布了一系列Android Gradle插件的补丁版本来解决这个问题:
3.3.3
3.4.3
3.5.4
3.6.4
4.0.1
如果您正在使用3.3.*
到4.0.*
系列中的现有插件,请从该列表中升级到相关的补丁版本(或更高版本),您将不会再遇到该错误(例如,classpath'com.android.tools.build:gradle:4.0.1'
)。
如果您使用的是Android Studio4.1(目前是beta版)或更高版本,以及与之匹配的Android Gradle插件(例如4.1.*
系列),您应该不会做任何更改。 这些插件版本已经知道
。
请看这篇Android开发者博客文章了解更多信息。