将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
相关产品推荐
相关产品推荐

