突然,我在我的Android项目中得到了这个构建错误:

unexpected element <queries> found in <manifest>

我该怎么解决呢?


当前回答

将您的Gradle版本更新到4.0.1或更高版本。

文件android / gradle /包装/ gradle-wrapper。更新分发URL为:

- 6.7 - all.zip distributionUrl = https://services.gradle.org/distributions/gradle

android /构建文件。更新gradle插件:

classpath’com。android工具。构建:gradle: 4.1。

到4.0.1或更高版本。这里是4.1.2,Gradle版本到6.5或更高版本。

你可以看到分布图表如何更新gradle在android工作室?

其他回答

将您的Gradle版本更新到4.0.1或更高版本。

文件android / gradle /包装/ gradle-wrapper。更新分发URL为:

- 6.7 - all.zip distributionUrl = https://services.gradle.org/distributions/gradle

android /构建文件。更新gradle插件:

classpath’com。android工具。构建:gradle: 4.1。

到4.0.1或更高版本。这里是4.1.2,Gradle版本到6.5或更高版本。

你可以看到分布图表如何更新gradle在android工作室?

由于Android 11中新的默认设置和包可见性特性需要添加<queries>,您必须更新您的Android Gradle插件。

谷歌为Android Gradle插件发布说明4.0.0(2020年4月)中列出的当前版本添加了一些补丁。

如果你想使用一个更新版本的Android Gradle,你应该从Android Gradle插件发布说明中搜索一个兼容的包装,更新Gradle。

修复这个错误非常简单。 更新你的Android Studio到最新版本 并使用最后一个稳定的Gradle插件版本。 目前,我使用Android Studio 4.1.3版本和Gradle Plugin 6.8.2

为了在查询中使用,应该在应用程序标记外编写查询代码,而不是在应用程序标记内编写查询代码。

更多信息,请看下面的照片:

我在react-native-image-crop-picker库中出现了这个错误,我通过更新Gradle版本解决了这个问题,就像之前的回答中提到的那样。

它是:

classpath("com.android.tools.build:gradle:3.5.3")

更新为:

classpath("com.android.tools.build:gradle:3.5.4")

我运行了一个:

cd android && ./gradlew clean && cd .. && npx react-native run-android

然后它工作得很好。

两天前我在Android Studio 4.1.1中也突然遇到了同样的问题。我通过升级Gradle版本解决了这个问题。

构建中的先前设置。项目的Gradle文件为:

classpath("com.android.tools.build:gradle:3.5.3")

当前设置:

classpath("com.android.tools.build:gradle:3.5.4")

这一期马上就消失了。:)