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

MAUI迁移报错:无法获取androidx.support.v4.content.FileProvider

解决.NET MAUI Android运行FileProvider类找不到的问题

首先明确:.NET MAUI Android完全依赖AndroidX,旧的Android Support Library已被彻底废弃,你的迁移方向是对的,但配置里还有两处关键错误:

错误1:FileProvider类名写错

你当前配置的androidx.support.v4.content.FileProvider是错误的,AndroidX中正确的类名是androidx.core.content.FileProvider(去掉了中间的support层级)。

错误2:Meta-data名称未同步更新

meta-data里的android.support.FILE_PROVIDER_PATHS是旧Support Library的命名,AndroidX对应的名称是androidx.core.content.FileProvider.FILE_PROVIDER_PATHS。

正确的AndroidManifest配置

替换你现有的provider节点为以下内容:

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

注:给authorities加.fileprovider后缀是为了避免和其他组件权限冲突,属于最佳实践,不是强制要求

额外检查

如果配置修正后仍报错,确认你的MAUI项目是否包含AndroidX Core依赖:
在项目的.csproj文件中添加(如果没有的话):

<ItemGroup>
  <PackageReference Include="Xamarin.AndroidX.Core" Version="1.12.0.1" />
</ItemGroup>

MAUI默认会自动引入基础AndroidX依赖,但如果有自定义依赖冲突可能需要手动指定。

关于MAUI与AndroidX的疑惑

MAUI从设计之初就基于AndroidX构建,Xamarin.Android在后期版本也已经全面迁移到AndroidX,所以不管是新MAUI项目还是从Xamarin迁移的项目,都必须使用AndroidX组件,旧的Support Library完全不兼容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 23:16:17