突然之间,我在我的 Android 项目中遇到了这个构建错误:
unexpected element <queries> found in <manifest>
我如何解决它?
最佳答案
Android Gradle 插件需要了解新的 list 元素,尤其是
对于 list 合并过程。如果插件有混淆的趋势
在 list 合并中看到它无法识别的元素,扔掉
构建问题中的错误。
在这种情况下,Android 11 引入了 <queries>
作为 list 元素,旧版本的 Android Gradle 插件不知道该元素。
这发生在 list 合并中的事实意味着只需升级依赖项
可能会导致这个错误。例如,如果您升级到最新com.awesome:awesome-library
的版本, 它包含一个 <queries>
元素
在其 list 中,您可能会因构建中的上述错误而崩溃,
即使您的代码没有任何其他更改。
谷歌发布了一系列补丁版本的 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 Studio 4.1 或更高版本,请使用匹配的
Android Gradle 插件(例如,在
4.1.*
系列中),你应该没问题任何变化。那些插件版本已经知道
<queries>
.见 this Android Developers Blog post更多。
关于android - 如何修复 "unexpected element <queries> found in <manifest>"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62969917/