突然,我在我的Android项目中得到了这个构建错误:
unexpected element <queries> found in <manifest>
我该怎么解决呢?
突然,我在我的Android项目中得到了这个构建错误:
unexpected element <queries> found in <manifest>
我该怎么解决呢?
当前回答
两天前我在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")
这一期马上就消失了。:)
其他回答
由于Android 11中新的默认设置和包可见性特性需要添加<queries>,您必须更新您的Android Gradle插件。
谷歌为Android Gradle插件发布说明4.0.0(2020年4月)中列出的当前版本添加了一些补丁。
如果你想使用一个更新版本的Android Gradle,你应该从Android Gradle插件发布说明中搜索一个兼容的包装,更新Gradle。
Android Gradle Plugin尤其需要了解新的清单元素 为了明确的合并程序。插件有一种容易混淆的趋势 在明显的合并中看到了它不承认的元素,扔掉了 制造问题中提到的那种错误。
在这种情况下,Android 11引入了<queries>作为一个清单元素,旧版本的Android Gradle Plugin不知道这个元素。
这种情况发生在显式合并中,这意味着只需升级依赖项 可能会导致这个错误。例如,如果您升级到最新版本 com的版本。Awesome: Awesome -库,它包含一个<queries>元素 在它的清单中,您可能会在构建中出现上述错误而崩溃, 即使你的代码没有任何改变。
谷歌发布了一系列补丁版本的Android Gradle插件来解决这个问题:
3.3.3 Rule 3.4.3 3.5.4 3.6.4 radar echoes captured 4.0.1
如果您正在使用3.3中现有的插件。*到4.0。*系列、升级 到相关的补丁版本(或更高版本)从该列表,您应该不再 遇到这个错误(例如,类路径'com.android.tools.build:gradle:4.0.1')。
如果您使用的是Android Studio 4.1或更高版本,则需要匹配 Android Gradle插件(例如,在4.1。*系列),没有也没问题 任何更改。这些插件版本已经知道<queries>。
详见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")
这一期马上就消失了。:)
将您的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工作室?
我在Flutter中遇到了这个问题,但我相信此解决方案将适用于Flutter和本地Flutter开发。
遵循以下步骤
Read this short blog post to get some understanding: Preparing your Gradle build for package visibility in Android 11 Delete the .gradle folder inside the Android folder, i.e., android > .gradle In the project build.gradle file, upgrade your class path appropriately based on the blog in the link above, e.g., I upgraded to classpath 'com.android.tools.build:gradle:4.0.1' Upgrade the distribution URL too. It's in android>gradle>gradle-wrapper.properties file appropriately. E.g., I upgraded it to distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip You can invalidate caches and restart your Android Studio. Make sure you have a good Internet connection, because it will download the new Gradle files.