Xamarin.Firebase.Firestore导致Xamarin Forms Android项目部署失败求助
Xamarin.Firebase.Firestore最新版Android调试错误解决方案
问题核心
- 更新
Xamarin.Firebase.Firestore至最新版后,Android项目无法编译调试 - 安装该包需手动按顺序先装
Xamarin.AndroidX.Core、再装Xamarin.AndroidX.Browser,否则会抛出冗长错误而非明确依赖提示 - 完成安装后出现
com.google.common.annotations.Beta类重复定义错误,根源是Xamarin.Google.Guava被Xamarin.Firebase.Firestore和Xamarin.Grpc.Stub重复引入
解决步骤
1. 重置依赖并统一版本
- 卸载Android项目中所有Firebase、AndroidX、Guava、Grpc相关的NuGet包
- 重新安装
Xamarin.Firebase.Firestore,让NuGet自动处理依赖链(确保NuGet设置为自动安装依赖项) - 若冲突仍存在,手动安装与
Xamarin.Firebase.Firestore依赖版本一致的Xamarin.Google.Guava(可查看Firestore NuGet详情页的依赖列表)
2. 排除重复引用
打开Android项目的.csproj文件,添加以下配置强制统一Guava版本:
<ItemGroup> <!-- 指定Firestore兼容的Guava版本 --> <PackageReference Include="Xamarin.Google.Guava" Version="31.1.0.3" /> <!-- 排除Grpc.Stub自带的Guava依赖 --> <PackageReference Include="Xamarin.Grpc.Stub"> <ExcludeAssets>all</ExcludeAssets> <PrivateAssets>all</PrivateAssets> </PackageReference> </ItemGroup>
3. 清理项目缓存
- 删除Android项目根目录下的
obj和bin文件夹 - 清理NuGet本地缓存:执行终端命令
dotnet nuget locals all --clear - 重新生成整个解决方案
4. 匹配目标Android版本
确保Android项目的目标框架版本与Xamarin.Firebase.Firestore要求的版本一致(当前最新版一般要求Android 12.0及以上)
注意事项
尽量避免手动逐个安装依赖,依赖关系交给NuGet自动处理能大幅降低版本冲突概率。若必须手动安装,严格遵循Xamarin.AndroidX.Core → Xamarin.AndroidX.Browser → Xamarin.Firebase.Firestore的顺序。
内容的提问来源于stack exchange,提问作者Bryson
相关产品推荐
相关产品推荐

