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

部署.NET MAUI Android项目遇zzip类型重复定义错误求解决方案

解决.NET 8 MAUI Android编译错误:Type com.google.android.gms.measurement.internal.zzip重复定义

错误信息

1>MSBUILD : java.exe error JAVA0000: Error in obj\Debug\net8.0-android34.0\lp\243\jl\classes.jar:com/google/android/gms/measurement/internal/zzip.class:
1>MSBUILD : java.exe error JAVA0000: Type com.google.android.gms.measurement.internal.zzip is defined multiple times: obj\Debug\net8.0-android34.0\lp\243\jl\classes.jar:com/google/android/gms/measurement/internal/zzip.class, obj\Debug\net8.0-android34.0\lp\244\jl\classes.jar:com/google/android/gms/measurement/internal/zzip.class
1>MSBUILD : java.exe error JAVA0000: Compilation failed

问题原因

项目同时引用了Firebase相关包(Plugin.Firebase.Analytics、Plugin.Firebase.Crashlytics)和Admob相关包(Plugin.MauiMTAdmob、Xamarin.GooglePlayServices.Ads.Lite),两类包依赖的Google Play Services Measurement库版本不一致,导致编译时出现重复类定义。手动安装额外的Xamarin.GooglePlayServices.Measure包会进一步加剧版本冲突。

解决方案

1. 强制统一Google依赖库版本

在项目的.csproj文件的<PropertyGroup>节点中添加以下配置,强制所有依赖Google Play Services和AndroidX的包使用统一版本:

<PropertyGroup>
  <!-- 统一Google Play Services版本,与已用的Xamarin.GooglePlayServices.Ads.Lite版本匹配 -->
  <AndroidGooglePlayServicesVersion>123.0.0</AndroidGooglePlayServicesVersion>
  <!-- 统一AndroidX版本,与已用的Xamarin.AndroidX.Lifecycle系列版本匹配 -->
  <AndroidXVersion>2.8.4</AndroidXVersion>
</PropertyGroup>

2. 移除重复的配置项

删除.csproj中重复的GoogleServicesJson引用,保留带TargetFramework条件的那组即可:

<!-- 保留这组,删除上方无条件的<GoogleServicesJson>引用 -->
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0-android'">
    <GoogleServicesJson Include="google-services.json" />
</ItemGroup>

3. 清理项目缓存并重建

  • 删除项目根目录下的bin和obj文件夹
  • 在Visual Studio中执行「清理解决方案」,再执行「重建解决方案」

4. 移除多余的NuGet包

卸载之前手动安装的Xamarin.GooglePlayServices.Measure相关包,避免引入额外的版本冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 04:10:53