谷歌地图API v2于12月3日发布,与Android相关。
是否有可能将其添加到Mono for Android中?
谷歌地图API v2于12月3日发布,与Android相关。
是否有可能将其添加到Mono for Android中?
我尝试了TheNextman建议的指南,但无法使其工作。经过几个小时的努力,我使用以下步骤成功实现:
从 Xamarin 的Github页面下载最新的示例项目。
在MonoDevelop上打开monodroid-samples\MapsAndLocationDemo_v2\MapsAndLocationDemo.sln。
打开Android SDK Manager并从Extras部分下载“Google Play Services”。
将 \extras\google\google_play_services\libproject\google-play-services_lib 复制到 monodroid-samples\MapsAndLocationDemo_v2 目录下。
打开命令提示符并切换到 monodroid-samples\MapsAndLocationDemo_v2\google-play-services_lib 目录下。
键入以下两个命令:
android update project -p .
ant debug
现在在MonoDevelop中将 google-play-services_lib/project.properties 文件作为链接文件添加到 GooglePlayServices 项目中。
现在创建一个Google 地图 API 密钥。不过需要注意两点:
在使用 MonoDroid 时,调试密钥库的默认位置为:
Windows Vista / Windows 7 / Windows 8: C:\Users[USERNAME]\AppData\Local\Xamarin\Mono for Android\debug.keystore OSX : /Users/[USERNAME]/.local/share/Xamarin/Mono for Android/debug.keystore
您可以在 MapsAndLocationDemo/Properties/AndroidManifest.xml 文件中的 manifest 标签中找到包名称。
如果您要部署到真实设备,则完成了,如果您要在模拟器上部署,请继续阅读。
使用以下设置创建一个新的 AVD: Platform: 4.1.2 CPU: ARM
对于其余参数,请保留默认选项
从真实设备获取vending.apk(com.android.vending.apk)和gms.apk(com.google.android.gms.apk)(有关详细信息,请参见本文末尾)
启动刚刚创建的模拟器,然后打开命令提示符并将其设置为下载APK的文件夹
键入:
adb -e install vending.apk adb -e install gms.apk
享受!
来源:
(1) https://github.com/xamarin/monodroid-samples/tree/master/MapsAndLocationDemo_v2
(2) 此应用程序无法运行,除非通过Bazaar更新Google Play服务 查看danbrough的评论。 如果可能,请从rooted设备中提取两个APK com.android.vending和com.google.android.gms以获取库的更新版本。
对于使用Mac的用户,有一个bash脚本可以帮助您构建Google Play服务客户端。它假设您已经设置了环境变量$ANDROID_HOME
(即Android SDK的路径)并安装了Apache Ant。
关于jucas的评论
尝试直接引用dll而不是项目,有时候VS无法从项目链接类型。您应该在Google Services库项目的bin文件夹中找到dll。
对我来说,有助于删除对Mono.Android的引用,然后添加对GooglePlayServices的项目引用和对Mono.Android的引用。 我不知道为什么它有效,但确实有效。