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

Xamarin Android项目中FusedLocationProviderClient找不到错误求助

解决Xamarin Android项目中的GPS相关问题

一、修复「FusedLocationProviderClient - type or namespace could not be found」错误

这个问题本质是缺少Google Play服务位置库的引用,按下面步骤逐一排查:

  • 安装适配的NuGet包
    FusedLocationProviderClient属于Google Play服务的位置组件,你需要在项目中安装Xamarin.GooglePlayServices.Location NuGet包。注意VS2017 15.6.3版本比较老旧,别装最新版的NuGet包(最新版通常要求更高版本的VS/Xamarin),建议选适配Android 6.0-7.1的稳定版本,比如112.0.0左右的版本(在NuGet包管理器的「版本」下拉列表里就能找到)。

  • 确认命名空间引用
    在使用FusedLocationProviderClient的代码文件顶部,必须添加这个命名空间:

    using Android.Gms.Location;
    
  • 检查Android SDK组件
    打开Visual Studio的Android SDK管理器,确保已安装对应Android版本的「Google Play Services」组件(在「SDK Tools」标签下),版本要和你装的NuGet包匹配。

二、解决Marshmallow模拟器无法安装Google Play服务的问题

Marshmallow模拟器装Google Play服务失败,大多是镜像选择不对,按以下方法处理最稳妥:

  • 创建带Google Play的官方模拟器镜像
    打开AVD管理器,点击「Create Virtual Device」选好设备后,在「System Image」步骤里,一定要选带有“Google Play”标识的Android 6.0镜像(别选只有“Google APIs”的镜像)。这类镜像自带预安装的Google Play服务,完全不需要手动折腾。

  • 更新Android SDK工具
    打开Android SDK管理器,切换到「SDK Tools」标签,把「Android SDK Build-Tools」、「Android Emulator」和「Google Play Services」更新到VS2017支持的最新兼容版本,这样才能获取到正确的带Google Play的系统镜像。

  • 别手动装APK
    手动下载Google Play服务APK装到模拟器很容易踩版本不兼容的坑(比如APK版本和系统架构不匹配),优先用官方带Google Play的模拟器镜像,这是最稳定的解决方案。

按上面的步骤操作,这两个问题应该都能顺利解决。

内容的提问来源于stack exchange,提问作者Ctrl-Zed

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:37:22