Android 高德地图SDK在API 31以上崩溃的问题 GLMapEngine.destroyAMapEngine(GLMapEngine.java:1851) | 您所在的位置:网站首页 › ae崩溃闪退 › Android 高德地图SDK在API 31以上崩溃的问题 GLMapEngine.destroyAMapEngine(GLMapEngine.java:1851) |
异常: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 实验室设备网 版权所有 |