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

如何构建使用Xamarin.Forms.Maps的Android项目?及NuGet安装后错误解决

一、构建使用Xamarin.Forms.Maps的Android项目步骤

我来一步步带你完成这个流程:

  • 第一步:确认解决方案结构
    你已经有了基于.NET Standard 2.0的Xamarin.Forms共享项目,以及对应的Android平台项目,这是基础结构,没问题。

  • 第二步:安装NuGet包
    在解决方案级别打开NuGet包管理器,给共享项目和Android项目都安装相同版本的Xamarin.Forms和Xamarin.Forms.Maps包。版本统一很重要,避免版本冲突导致的奇怪错误。

  • 第三步:配置Android项目的权限与API密钥
    打开Android项目的AndroidManifest.xml文件,添加以下必要权限到文件顶部(<manifest>节点内):

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    

    然后在<application>节点内添加Google Maps API密钥的配置(你需要先在Google Cloud平台申请API密钥):

    <meta-data android:name="com.google.android.geo.API_KEY" android:value="你的Google Maps API密钥" />
    
  • 第四步:初始化地图服务
    打开Android项目的MainActivity.cs,在LoadApplication(new App());之前添加初始化代码:

    Xamarin.FormsMaps.Init(this, savedInstanceState);
    
  • 第五步:在共享项目中使用地图控件
    在你的XAML页面中,先添加Maps命名空间引用:

    xmlns:maps="clr-namespace:Xamarin.Forms.Maps;assembly=Xamarin.Forms.Maps"
    

    然后就可以添加地图控件了:

    <maps:Map HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" />
    
二、添加NuGet包后构建错误的解决办法

遇到这种双击错误没反应的情况,咱们先从常见问题排查:

  • 先检查NuGet版本一致性
    打开解决方案的NuGet包管理器,确认共享项目和Android项目的Xamarin.Forms和Xamarin.Forms.Maps版本完全一致。如果版本不匹配,很容易触发构建错误,统一版本后再尝试构建。

  • 清理缓存并重建
    右键点击解决方案,选择“清理解决方案”,然后再选择“生成解决方案”。如果还是不行,重启Visual Studio试试,有时候IDE缓存会搞鬼。

  • 手动检查AndroidManifest配置
    有些情况下,NuGet包不会自动添加完整的权限或API密钥配置,按照上面第一个问题里的步骤,手动补全AndroidManifest.xml里的权限和API密钥配置,即使暂时不需要定位功能,部分版本的Maps包也要求API密钥配置才能正常构建。

  • 查看详细构建日志
    双击错误没反应的话,咱们换个方式看错误:打开Visual Studio的“视图”菜单,选择“输出”,然后在输出窗口的下拉菜单里选择“生成”,这里会显示完整的构建错误信息,能帮你精准定位问题(比如缺少某个SDK组件、依赖冲突等)。

  • 删除bin/obj文件夹
    手动删除共享项目和Android项目下的bin和obj文件夹,然后重新构建。这两个文件夹里的旧编译缓存有时候会导致莫名其妙的错误,清空后重新编译就能解决。

  • 检查Android SDK组件
    打开Android SDK管理器,确保已经安装了Google Play Services、Google Repository,以及你Android项目目标SDK版本对应的平台组件。缺少这些依赖也会导致Maps相关的构建错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:53:54