我是一个初学者xamarin.forms开发人员,我已经开发了一些免费的应用程序与谷歌地图为我的城市。
该应用程序在所有Visual (2019) android仿真器上,甚至在我的旧手机(Android4.3)上都能很好地工作。
应用程序的公布也是成功的。
然而,第一个在手机上安装应用程序(android 9)的用户告诉我,应用程序崩溃了。只是在显示(尝试)地图时崩溃了,没有任何错误消息。但是应用程序的任何其他(没有地图的) "ContentPage“都可以正常工作。只有当用户尝试使用映射控件打开ContentPage时,才会发生崩溃。
因为我没有真正的android 9设备(而且在所有visual studio的android模拟器上应用程序都是工作的),所以我安装了Nox播放器:
并创建了两个可用的模拟器:Android5.1.1和Android7.1.2
结果:该应用程序在Android5上工作,在Android7上崩溃(连同Android7模拟器--模拟器程序只是关闭,没有任何错误消息)。
好的。我已经创建了一个最简单的测试xamarin表单地图应用程序--只显示地图,仅此而已。
MainPage.xaml:
<ContentPage.Content>
<map:Map />
</ContentPage.Content>同样的故事:工作在所有视频演播室的android仿真器上,工作在我的旧的Android4.3设备上,工作在nox播放器android 5上,在nox android 7上崩溃!
然后,我试着从microsoft文档中编译一个示例。例如:
https://learn.microsoft.com/en-us/samples/browse/?products=xamarin&term=Xamarin.Forms.Maps
所有这些样品都放在这里:
https://github.com/xamarin/xamarin-forms-samples/tree/master/WorkingWithMaps
我刚刚下载了解决方案,将"com.google.android.maps.v2.API_KEY“替换为AndroidManifest.xml并编译了它。别再动了。
结果:完全相同的行为。
更准确地说,我最初使用的是Xamarin.Forms.GoogleMaps包:https://github.com/amay077/Xamarin.Forms.GoogleMaps
与相同的结果。
在这个页面上有关于已经编译的apk和示例:https://install.appcenter.ms/users/okuokuoku/apps/xfgooglemapsample/distribution_groups/trial的链接。
结果:相同。
求你了,谁知道原因是什么?
更多信息:



AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.comscreen.App1" android:installLocation="internalOnly">
<uses-sdk android:minSdkVersion="22" android:targetSdkVersion="28" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<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_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:label="App1.Android" android:usesCleartextTraffic="true" android:icon="@mipmap/launcher_foreground">
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="MY_API_KEY_SORRY_FOR_HIDING" />
</application>
</manifest>发布于 2019-10-19 20:13:42
由于您没有提供任何erorr代码,我只能怀疑以下两个原因:
,
map在安卓的新版本中需要某种许可?在创建APK时再次检查https://stackoverflow.com/questions/58464944
复制相似问题