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

Visual Studio 2022中Xamarin项目构建报错:com.android.tools.r8.CompilationFailedException

解决Xamarin项目构建时重复类定义的问题

这个错误的核心原因是项目依赖中包含了重复的Google Play Services Measurement库,导致编译时同一个com.google.android.gms.measurement.internal.zzai类在两个不同的classes.jar文件中被定义,R8编译器无法处理。直接编辑.class文件没有意义,因为这是编译后的字节码,必须从依赖管理层面解决:

  • 清理构建缓存

    1. 关闭Visual Studio
    2. 删除项目根目录下的obj和bin文件夹
    3. 重新打开项目并执行构建
  • 统一NuGet包版本

    1. 打开Visual Studio的「NuGet包管理器」
    2. 搜索所有与Xamarin.GooglePlayServices.Measurement相关的包
    3. 确保所有相关包的版本完全一致,不同版本的库会引入重复类
    4. 更新或降级到同一版本后,清理缓存再重新构建
  • 排查间接依赖冲突

    1. 通过「管理解决方案的NuGet包」查看已安装的所有包
    2. 检查是否有第三方包间接引入了不同版本的Google Play Services Measurement库
    3. 若发现冲突,可在项目的PackageReference中强制指定统一版本,示例:
      <PackageReference Include="Xamarin.GooglePlayServices.Measurement.Base" Version="18.0.1" />
      
  • 调整Android构建配置

    1. 右键Android项目 → 属性 → 「Android选项」→ 「高级」
    2. 尝试暂时关闭「代码收缩(R8)」功能,验证是否是R8的处理逻辑导致的问题
    3. 如果关闭后能正常构建,再检查R8的规则文件是否需要添加排除重复类的配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 21:33:23