刚接手Xamarin项目编译报错:Failed to reading or Doing GoogleServicesJson file: MainActivity.cs
刚接触Xamarin就碰到这个GoogleServicesJson相关的编译报错?别慌,我之前接手项目时也踩过这个坑,给你整理几个靠谱的排查和解决步骤:
检查google-services.json的位置与属性配置
首先确认你的Android项目根目录下存在这个文件(注意是Android项目,不是整个解决方案的根目录)。右键点击文件选择「属性」,把生成操作设置为GoogleServicesJson,复制到输出目录选择「如果较新则复制」。绝大多数情况下,这个属性配置错误是导致该报错的核心原因。验证google-services.json的内容有效性
这个文件是从Firebase控制台下载的,可能存在下载不完整或包名不匹配的问题。打开文件后,找到client->client_info->android_client_info->package_name节点,确认其值和你项目的包名完全一致(包括大小写)。如果不匹配,去Firebase控制台对应项目重新下载正确的文件替换现有文件。清理缓存并重建项目
Xamarin的编译缓存偶尔会引发奇怪的问题。先右键解决方案选择「清理解决方案」,接着右键Android项目选择「卸载项目」,等待卸载完成后再重新加载项目,最后执行编译。如果还是不行,可以手动删除项目目录下的bin和obj文件夹,再重新构建。统一NuGet包版本
检查项目中Xamarin.GooglePlayServices和Xamarin.Firebase系列的NuGet包版本是否一致,版本冲突也可能导致文件读取异常。打开NuGet包管理器,将相关包统一更新到兼容的最新稳定版本,或者回退到项目原本使用的版本(如果是接手的遗留项目)。确认MainActivity的Firebase初始化代码
虽然这个报错主要是文件读取问题,但也可以顺带检查下MainActivity的OnCreate方法中是否存在FirebaseApp.InitializeApp(this);这行初始化代码,确保Firebase的初始化流程是完整的。
内容的提问来源于stack exchange,提问作者Marco Garcia

