Android 高德地图SDK在API 31以上崩溃的问题 GLMapEngine.destroyAMapEngine(GLMapEngine.java:1851) 您所在的位置:网站首页 ae崩溃闪退 Android 高德地图SDK在API 31以上崩溃的问题 GLMapEngine.destroyAMapEngine(GLMapEngine.java:1851)

Android 高德地图SDK在API 31以上崩溃的问题 GLMapEngine.destroyAMapEngine(GLMapEngine.java:1851)

2024-04-08 02:19| 来源: 网络整理| 查看: 265

异常:GLMapEngine.destroyAMapEngine(GLMapEngine.java:1851)

1 问题描述

Android App 中调用高德地图功能(显示地图、地图选择地点),均能正常使用,然后在关闭APP页面里,APP崩溃。 抛出日志如下: 在这里插入图片描述 手机运行环境如下: 在这里插入图片描述

2 解决方式

AndroidManifest.xml文件中 的 application 标签中加入:

android:allowNativeHeapPointerTagging="false"

在这里插入图片描述

3 原因分析

下载高德地图SDK提供的DEMO测试时却发现,DEMO运行没有任何问题。比较DEMO和我们自己的代码,显示地图的关键代码没有任何不同,唯一不同的是 在 build.gradle 文件中,DEMO的targetSdkVersion是26,我们的targetSdkVersion是32。

4 allowNativeHeapPointerTagging 是什么?

Android dev 开发平台文档地址:

https://developer.android.google.cn/about/versions/11/behavior-changes-11?hl=zh-cn

安全方面 堆指针标记: 堆指针在最高有效字节 (MSB) 中有一个非零标记。错误地使用指针的应用(包括修改 MSB 的应用),现在会崩溃或遇到其他问题。这是支持未来启用了 ARM 内存标记扩展 (MTE) 的硬件所必需的变更。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有