Flutter项目首次运行正常,二次运行出现GL错误0x502求助
Flutter项目二次运行OpenGL报错问题排查
问题详情
首次运行Flutter项目无异常,第二次运行时触发OpenGL错误,错误日志如下:
E/emuglGLESv2_enc( 6572): device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glGetUniformLocation:2206 GL error 0x502
(对应控制台截图:Flutter二次运行报错控制台截图)
已尝试更新SDK,问题未得到解决。
可行解决步骤
彻底清理项目构建缓存
依次执行以下命令清理项目后重新构建:flutter clean flutter pub get cd android && ./gradlew clean && cd ..调整模拟器OpenGL渲染模式
打开Android模拟器设置,进入Advanced选项,将OpenGL渲染模式切换为SwiftShader或纯软件渲染模式,关闭硬件加速。更换模拟器系统镜像
尝试使用不同API版本的模拟器镜像(例如从Android 11切换到Android 13),部分旧版本镜像的OpenGL驱动存在兼容性bug。排查项目中OpenGL相关资源释放问题
如果项目中使用了自定义OpenGL逻辑或依赖涉及OpenGL的第三方库,检查是否存在Uniform Location、纹理等资源未在页面销毁时正确释放的情况,避免二次启动时资源冲突。重启ADB服务与模拟器
执行命令重启ADB,再重启模拟器:adb kill-server adb start-server
内容的提问来源于stack exchange,提问作者Khotibul Umam
相关产品推荐
相关产品推荐

