You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter应用重启后显示白屏且报GL error 0x502问题求助

Flutter重启项目后白屏+GL error 0x502 解决方案

问题概述

首次运行Flutter应用一切正常,停止项目后再次启动出现白屏,控制台持续抛出GL error 0x502错误;该问题自Android Studio升级至Jellyfish版本后出现,降级到Hedgehog版本仍无法解决;仅清除应用缓存或卸载重装可暂时恢复,但重启项目后问题复现。

控制台错误日志

Launching lib\main.dart on sdk gphone x86 64 in debug mode...
Running Gradle task 'assembleDebug'...
√  Built build\app\outputs\flutter-apk\app-debug.apk.
Debug service listening on ws://127.0.0.1:61880/gf6laqAzYm8=/ws
Syncing files to device sdk gphone x86 64...
I/le.timesheetapp( 5764): Compiler allocated 4533KB to compile void android.view.ViewRootImpl.performTraversals()
[GETX] Instance "DropDownDataController" has been created
[GETX] Instance "DropDownDataController" has been initialized
[GETX] Instance "GetMaterialController" has been created
[GETX] Instance "GetMaterialController" has been initialized
E/emuglGLESv2_enc( 5764): device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glGetUniformLocation:2183 GL error 0x502
E/emuglGLESv2_enc( 5764): device/generic/goldfish-opengl/system/GLESv2_enc/GL2Encoder.cpp:s_glGetUniformLocation:2183 GL error 0x502
...

解决方案

GL error 0x502代表无效的OpenGL操作,根源是模拟器OpenGL上下文与Flutter缓存冲突,以下是针对性解决方法:

  • 切换模拟器OpenGL渲染模式
    打开模拟器设置 → 高级选项,将渲染模式在Hardware - GLES 2.0和Software - GLES 2.0之间切换,保存后重启模拟器再运行项目。部分情况下硬件加速在重启后会出现上下文异常,软件渲染可规避该问题。

  • 禁用Flutter增量编译缓存
    运行项目时使用命令:

    flutter run --no-build-cache
    

    或先执行彻底清理再运行:

    flutter clean && flutter run
    

    强制跳过旧缓存的复用,避免OpenGL相关编译残留导致的冲突。

  • 添加Gradle debug构建清理步骤
    在android/app/build.gradle的buildTypes中为debug模式添加前置清理任务,确保每次构建都清除中间缓存:

    android {
        buildTypes {
            debug {
                doFirst {
                    delete fileTree(dir: "$buildDir/intermediates", include: ['**/*'])
                    delete fileTree(dir: "$buildDir/cache", include: ['**/*'])
                }
            }
        }
    }
    
  • 重置模拟器至出厂状态
    在模拟器的更多选项(...)中选择Factory Reset,彻底清除模拟器的系统缓存和应用数据,之后重新运行项目。该操作比单独卸载应用更彻底,能解决模拟器层面的OpenGL上下文残留问题。

  • 同步Flutter与Android Studio版本兼容性
    运行flutter doctor检查当前环境版本,升级或回退Flutter至稳定版(如最新稳定版或之前无问题的版本),确保Flutter与Android Studio的版本匹配,避免IDE升级后遗留的环境兼容性问题。

内容的提问来源于stack exchange,提问作者flutter developer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 13:43:22