首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xamarin.Forms.Maps在android 7+上坠毁

Xamarin.Forms.Maps在android 7+上坠毁
EN

Stack Overflow用户
提问于 2019-10-19 14:59:22
回答 1查看 371关注 0票数 1

我是一个初学者xamarin.forms开发人员,我已经开发了一些免费的应用程序与谷歌地图为我的城市。

该应用程序在所有Visual (2019) android仿真器上,甚至在我的旧手机(Android4.3)上都能很好地工作。

应用程序的公布也是成功的。

然而,第一个在手机上安装应用程序(android 9)的用户告诉我,应用程序崩溃了。只是在显示(尝试)地图时崩溃了,没有任何错误消息。但是应用程序的任何其他(没有地图的) "ContentPage“都可以正常工作。只有当用户尝试使用映射控件打开ContentPage时,才会发生崩溃。

因为我没有真正的android 9设备(而且在所有visual studio的android模拟器上应用程序都是工作的),所以我安装了Nox播放器:

https://www.bignox.com/

并创建了两个可用的模拟器:Android5.1.1和Android7.1.2

结果:该应用程序在Android5上工作,在Android7上崩溃(连同Android7模拟器--模拟器程序只是关闭,没有任何错误消息)。

好的。我已经创建了一个最简单的测试xamarin表单地图应用程序--只显示地图,仅此而已。

MainPage.xaml:

代码语言:javascript
复制
<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:

代码语言:javascript
复制
<?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>
EN

回答 1

Stack Overflow用户

发布于 2019-10-19 20:13:42

由于您没有提供任何erorr代码,我只能怀疑以下两个原因:

  1. ,也许map在安卓的新版本中需要某种许可?在创建APK时再次检查
  2. ,您检查了所有体系结构吗?在Android下,->高级->支持架构->选择所有体系结构。更多信息在这里:https://learn.microsoft.com/en-us/xamarin/android/app-fundamentals/cpu-architectures?tabs=windows
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58464944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档