首页 / 浏览问题 / 移动GIS / 问题详情
在android studio中二维GIS地图黑屏无法显示
1EXP 2025年08月27日
尝试引入supermap imobile,许可文件和数据文件都已经加载进去,getMap也完成了,程序可以运行且不闪退,但就是黑屏,日志消息显示了很多以下消息:validate_display:87 error 3008 (EGL_BAD_DISPLAY)
 E  eglSwapBuffersWithDamageKHRImpl:1393 error 300d (EGL_BAD_SURFACE)。是架构不适配的原因吗,我真的好想知道android studio怎么能看到地图,用模拟器换了好多api都不行

1个回答

您好,SuperMap iMobile 出现 EGL_BAD_DISPLAY 和 EGL_BAD_SURFACE 错误,核心原因是 EGL(OpenGL ES 与系统窗口的桥梁)无法正常创建图形上下文或绘制表面,本质是 “地图渲染所需的底层图形环境未就绪”,您可以从以下方面来排查

1、EGL_BAD_DISPLAY 表示 EGL 无法连接到系统的显示设备(如屏幕),通常与 OpenGL ES 版本不兼容或系统图形驱动缺失相关,指明OpenGL ES 2.0 及以上版本。

2、库文件缺失或 权限不足 导致图形层初始化失败,确认库文件是否完整

建议使用真机测试
1,805EXP 2025年08月27日
请问一下在日志消息中出现ndk_translation Undefined instruction 0x0ee0e000 at 0x00007acd1e621ec8是什么意思,是说明架构不兼容吗,没有真机只能用模拟器了,然后arm64的模拟器运行不了只能用x64的

Android 模拟器的 “架构” 与真机不同,它依赖宿主 CPU(你的电脑 CPU,通常是 x86_64)模拟目标设备架构(如 arm64-v8a、x86_64)。当使用 x64 模拟器(即模拟 x86_64 架构设备),但APP 中包含arm 架构的原生库(.so) 时,系统会强制通过 ndk_translation 将 arm 指令翻译为 x86_64 指令执行。 建议最好使用真机测试

...