Xamarin.Android项目引用Xamarin.Google.ARCore包出现AndroidManifest.xml错误
Xamarin ARCore构建Manifest报错解决方案
错误根因
你遇到的Missing 'package' key attribute on element package报错,是Xamarin.Google.ARCore NuGet包版本与Android构建工具版本不兼容导致:1.30.0及以上版本的ARCore包会自动在合并的Manifest中注入<queries>节点下的<package>声明,该声明仅支持Android SDK Build-Tools 31.0.0及以上版本识别,低版本构建工具无法解析该属性,触发验证失败。
排查步骤
- 检查项目安装的Xamarin.Google.ARCore NuGet包版本,确认是否为1.30.0及以上
- 打开Visual Studio的Android SDK管理器,查看当前项目使用的Android SDK Build-Tools版本,确认是否低于31.0.0
- 检查项目的目标Android框架版本,确认是否低于Android 12.0 (S)
解决方法
方案1:升级Android构建工具(推荐)
- 打开Visual Studio菜单栏:工具 > Android > Android SDK管理器
- 切换到「工具」标签页,勾选Android SDK Build-Tools 31.0.0或更高版本,点击应用完成安装
- 右键Android项目 → 属性 → 应用程序,将「目标Android版本」修改为Android 12.0 (S) 或更高
- 进入「Android清单」设置页,确认「目标SDK版本」「编译SDK版本」与上一步设置的版本一致
- 清理项目,删除项目根目录下的bin、obj文件夹后重新构建即可
方案2:降级ARCore NuGet版本(临时兼容)
如果暂时无法升级构建工具,可将Xamarin.Google.ARCore包降级到1.29.0及以下版本,该版本不会注入需要高版本构建工具识别的Manifest节点:
- 右键Android项目 → 管理NuGet包
- 找到Xamarin.Google.ARCore,选择版本为1.29.0,点击降级
- 清理项目后重新构建
方案3:修改Manifest属性(特殊场景兼容)
如果不想升级工具也不想降级包,可在项目主AndroidManifest.xml的manifest根节点添加android:targetSandboxVersion="2"属性规避验证:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:targetSandboxVersion="2" package="你的应用包名"> <!-- 原有配置内容保持不变 --> </manifest>
内容的提问来源于stack exchange,提问作者bonnie m
相关产品推荐
相关产品推荐

