我用xamarin.form PCL创建了一个项目。
我已添加.....
根据所有平台(Android,iOS,Window Phone)的要求添加了xamarin.forms.maps 以及其他库和 NuGet包。
我已在所有平台上提供了所有权限和配置。
我已成功在窗口手机中显示地图并运行程序,但我在android中有错误。
错误是
严重级代码说明项目文件行列 错误java.lang.OutOfMemoryError。考虑增加价值 $(JavaMaximumHeapSize)。 Java在执行时耗尽内存 ' java.exe -jar" C:\ Program Files (86)\的Android \ Android的SDK \积聚工具\ 23.0.2 \ lib中\ dx.jar" --no严格 --dex --output = obj \ Debug \ android \ bin obj \ Debug \ android \ bin \ classes" C:\ Program Files(x86)\ Reference 大会\微软\框架\ MonoAndroid \ V6.0 \ mono.android.jar" d:\项目\ SimplyFood \ SimplyFood \ SimplyFood.Droid \ OBJ \ Debug__library_projects __ \ FormsViewGroup \ library_project_imports \ formsviewgroup.jar " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ Android.Support.Design \ 23.0.1.3 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ Android.Support.v4 \ 23.0.1.3 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ Android.Support.v4 \ 23.0.1.3 \嵌入\库\ internal_impl-23.0.1.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ Android.Support.v7.AppCompat \ 23.0.1.3 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ Android.Support.v7.CardView \ 23.0.1.3 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ Android.Support.v7.MediaRouter \ 23.0.1.3 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ Android.Support.v7.MediaRouter \ 23.0.1.3 \嵌入\库\ internal_impl-23.0.1.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ Android.Support.v7.RecyclerView \ 23.0.1.3 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ GooglePlayServices.Ads \ 26.0.0 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ GooglePlayServices.Analytics \ 26.0.0 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ GooglePlayServices.AppIndexing \ 26.0.0 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ GooglePlayServices.AppInvite \ 26.0.0 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ GooglePlayServices.AppState \ 26.0.0 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ GooglePlayServices.Base \ 26.0.0 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ GooglePlayServices.Cast \ 26.0.0 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ GooglePlayServices.Drive \ 26.0.0 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ GooglePlayServices.Fitness \ 26.0.0 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ GooglePlayServices.Games \ 26.0.0 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ GooglePlayServices.Gcm \ 26.0.0 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ GooglePlayServices.Identity \ 26.0.0 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ GooglePlayServices.Location \ 26.0.0 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ GooglePlayServices.Maps \ 26.0.0 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ GooglePlayServices.Nearby \ 26.0.0 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ GooglePlayServices.Panorama \ 26.0.0 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ GooglePlayServices.Plus \ 26.0.0 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ GooglePlayServices.SafetyNet \ 26.0.0 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ GooglePlayServices.Vision \ 26.0.0 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ GooglePlayServices.Wallet \ 26.0.0 \嵌入\ classes.jar" " C:\用户\ PB DEV \应用程序数据\本地\ Xamarin \ GooglePlayServices.Wearable \ 26.0.0 \嵌入\ classes.jar"' SimplyFood.Droid
更新所有nuget软件包后,我得到以下错误...
解压缩失败。请下载 https://dl-ssl.google.com/android/repository/google_m2repository_r15.zip 并将其提取到 d:\项目\ TestApp \包\ Xamarin.GooglePlayServices.22.0.0.0 \ LIB \ MonoAndroid41 \ 22.0.0 \内容 目录。 TestApp.Droid
解压缩失败。请下载 https://dl-ssl.google.com/android/repository/google_m2repository_r15.zip 并将其提取到 d:\项目\ TestApp \包\ Xamarin.GooglePlayServices.22.0.0.0 \ LIB \ MonoAndroid41 \ 22.0.0 \内容 。目录
错误原因: D:\ Project \ TestApp \ packages \ Xamarin.GooglePlayServices.22.0.0.0 \ lib \ MonoAndroid41 \ 22.0.0 \ 742021DEBBD30AFFB5B67FB39AB43D94.zip不是有效的zip文件TestApp.Droid
错误原因: D:\ Project \ TestApp \ packages \ Xamarin.GooglePlayServices.22.0.0.0 \ lib \ MonoAndroid41 \ 22.0.0 \ 742021DEBBD30AFFB5B67FB39AB43D94.zip不是有效的zip文件TestApp.Droid
错误请安装软件包:' Google Play服务'在SDK中可用 安装程序。 Java库文件 d:\项目\ TestApp \包\ Xamarin.GooglePlayServices.22.0.0.0 \ LIB \ MonoAndroid41 \ 22.0.0 \嵌入式\ classes.jar 不存在。 TestApp.Droid
错误请安装软件包:' Google Play服务'在SDK中可用 安装程序。 Android资源目录 d:\项目\ TestApp \包\ Xamarin.GooglePlayServices.22.0.0.0 \ LIB \ MonoAndroid41 \ 22.0.0 \ embedded./ 不存在。 TestApp.Droid
有没有其他方法可以使用xamarin在Android,iPhone和Window手机中轻松集成地图?
答案 0 :(得分:9)
如果您使用的是Visual Studio;
右键点击您的Droid项目,转到Android Options
标签,点击Advanced
并将Java Max Heap Size
设为1G
如果您使用的是Xamarin Studio,它应该是类似的东西。
它与所有正在加载的Java绑定有关,它会加载大量内存。使用此设置可以增加可用的默认内存。
你可以在一段时间之前在Xamarin的相关错误中阅读更多相关内容。 https://bugzilla.xamarin.com/show_bug.cgi?id=8137#c14
答案 1 :(得分:1)
有两种可能的原因。
使用新的错误消息,转到包含问题的目录并删除所有zip文件和内容。 VS或Xamarin将再次自动下载它们。
同时将您的编译API目标更新为API 23,但您可以将最小值保持在15。