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

MAUI Android项目在Rider中构建失败,求解决指引

解决Rider中构建.NET Android项目时Guava ListenableFuture编译错误的方案

以下是针对这个D8/R8编译失败问题的具体解决步骤:

  • 检查并调整NuGet包版本
    先查看项目中Xamarin.Google.Guava.ListenableFuture的版本,尝试升级到最新稳定版,或者降级到1.0.0.10这类与net6.0-android兼容性更好的版本。同时确认项目中其他Google相关NuGet包(比如Guava核心包)的版本,保证依赖版本统一,避免类定义冲突。

  • 排除重复的类文件
    如果项目同时引入了包含ListenableFuture.class的多个库(比如Guava主包和单独的ListenableFuture包),可以直接修改项目的.csproj文件来排除冲突的jar:

    <ItemGroup>
      <AndroidExternalJar Remove="$(NuGetPackageRoot)xamarin.google.guava.listenablefuture\1.0.0.11\jar\guava-listenablefuture.jar" />
    </ItemGroup>
    

    或者如果Guava主包已经包含该类,直接移除单独的Xamarin.Google.Guava.ListenableFutureNuGet包。

  • 临时调整R8编译参数
    若暂时无法彻底解决包冲突,可以通过添加R8参数绕过重复类错误(注意:这是临时方案,可能隐藏潜在问题):
    在.csproj的<PropertyGroup>节点中添加:

    <AndroidR8ExtraArgs>--allow-duplicate-classes</AndroidR8ExtraArgs>
    
  • 清理重建项目
    删除项目的bin、obj目录,同时删除~/.nuget/packages下对应的xamarin.google.guava.listenablefuture文件夹。然后在Rider中执行Clean Solution,再重新执行Rebuild Solution,确保没有旧编译文件残留。

  • 调整Android SDK版本
    尝试升级Microsoft.Android.Sdk.Darwin到最新稳定版,或者降级到与net6.0-android更适配的版本(比如32.0.470),避免SDK工具与NuGet包的兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 16:37:12