You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将Xamarin项目升级至.NET MAUI时Android File Provider路径文件报错求助

解决.NET MAUI Android File Provider构建错误APT2230

错误原因

你遇到的APT2230: root element must be <resources>错误,是因为File Provider的路径配置文件格式和存放位置不符合Android规范:

  • 配置文件的根元素必须被<resources>标签包裹
  • 该文件应存放在Platforms/Android/Resources/xml目录(而非values目录),同时Manifest中的资源引用路径需要对应调整

修复步骤

1. 修正file_paths.xml内容

将原文件内容修改为,确保<paths>被<resources>包裹:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <paths xmlns:android="http://schemas.android.com/apk/res/android">
        <external-files-path name="my_images" path="/images" />
    </paths>
</resources>

2. 调整文件存放目录

  • 在Platforms/Android/Resources下新建xml目录(如果不存在)
  • 将修改后的file_paths.xml移动到xml目录中,确保路径为Platforms/Android/Resources/xml/file_paths.xml

3. 更新AndroidManifest.xml中的资源引用

修改<meta-data>标签的android:resource属性,从@values/file_paths改为@xml/file_paths:

<provider android:name="androidx.core.content.FileProvider" 
          android:authorities="${applicationId}.provider" 
          android:exported="false" 
          android:grantUriPermissions="true">
    <meta-data android:name="android.support.FILE_PROVIDER_PATHS" 
               android:resource="@xml/file_paths"></meta-data>
</provider>

4. 确认Build Action

确保file_paths.xml的Build Action设置为AndroidResource(右键文件→属性中查看)

完成以上步骤后重新构建项目,即可解决该错误。

内容的提问来源于stack exchange,提问作者chresben

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 09:04:52