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

迁移Xamarin.Forms到MAUI遇冲突,如何手动移除Android.Support.V4 NuGet包?

解决.NET MAUI迁移中Android.Support.V4与AndroidX冲突的重复类型错误

针对你遇到的The Java type mono.android.support.v4.media.session.MediaSessionCompat_OnActiveChangeListenerImplementor is generated by more than one managed type错误,以下是可行的解决方案:

  • 强制全局使用AndroidX并启用Jetifier
    打开MAUI项目的.csproj文件,添加以下配置,让项目自动将所有依赖中的Support库引用转换为AndroidX:

    <PropertyGroup>
      <AndroidUseAndroidX>true</AndroidUseAndroidX>
      <AndroidEnableJetifier>true</AndroidEnableJetifier>
    </PropertyGroup>
    

    Jetifier会自动处理第三方SDK的隐式Support库引用,无需手动修改SDK包。

  • 更新或替换冲突的SDK

    1. 在NuGet包管理器的「依赖项」列表中,展开所有包找到间接引用Android.Support.V4的SDK,查看该SDK是否有适配AndroidX的新版本,更新到最新版本通常能解决冲突。
    2. 如果SDK无更新版本,可尝试在项目文件中排除该SDK的Support库引用,手动添加对应的AndroidX替代包:
      <ItemGroup>
        <PackageReference Include="冲突SDK的包名" ExcludeAssets="All" />
        <PackageReference Include="对应的AndroidX包名" Version="最新稳定版" />
      </ItemGroup>
      
      注意:此操作需验证SDK功能是否正常,避免因包替换导致功能异常。
  • 清理项目缓存

    1. 右键项目选择「清理」,删除项目目录下的bin和obj文件夹。
    2. 执行命令清除NuGet缓存:
      dotnet nuget locals all --clear
      
    3. 重新生成项目。
  • 确认Android版本配置
    确保项目目标Android版本为Android 12 (API 31)及以上,MAUI对AndroidX的兼容性在高版本系统中更完善,同时在项目属性的Android选项中勾选「使用AndroidX」。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 05:40:30