Flutter 1.9:D/skia(5106):着色器编译错误
Posted
技术标签:
【中文标题】Flutter 1.9:D/skia(5106):着色器编译错误【英文标题】:Flutter 1.9: D/skia ( 5106): Shader compilation error 【发布时间】:2020-02-11 06:54:46 【问题描述】:我使用 android Studio 3.5.1 创建了一个简单的 Flutter 1.9.1+hotfix.4 应用程序。成功添加新的虚拟设备 (Nexus 6) 并尝试运行我的应用后,出现此错误:
Launching lib\main.dart on Android SDK built for x86 in debug mode...
Initializing gradle...
Resolving dependencies...
Running Gradle task 'assembleDebug'...
Built build\app\outputs\apk\debug\app-debug.apk.
Syncing files to device Android SDK built for x86...
D/skia ( 5106): Shader compilation error
D/skia ( 5106): ------------------------
D/skia ( 5106): Errors:
D/skia ( 5106):
D/skia ( 5106): Shader compilation error
D/skia ( 5106): ------------------------
D/skia ( 5106): Errors:
D/skia ( 5106):
D/skia ( 5106): Shader compilation error
D/skia ( 5106): ------------------------
D/skia ( 5106): Errors:
D/skia ( 5106):
D/skia ( 5106): Shader compilation error
D/skia ( 5106): ------------------------
D/skia ( 5106): Errors:
D/skia ( 5106):
D/skia ( 5106): Shader compilation error
D/skia ( 5106): ------------------------
D/skia ( 5106): Errors:
D/skia ( 5106):
D/skia ( 5106): Shader compilation error
D/skia ( 5106): ------------------------
D/skia ( 5106): Errors:
D/skia ( 5106):
D/skia ( 5106): Shader compilation error
D/skia ( 5106): ------------------------
D/skia ( 5106): Errors:
D/skia ( 5106):
D/skia ( 5106): Shader compilation error
D/skia ( 5106): ------------------------
D/skia ( 5106): Errors:
D/skia ( 5106):
D/skia ( 5106): Shader compilation error
D/skia ( 5106): ------------------------
D/skia ( 5106): Errors:
D/skia ( 5106):
D/skia ( 5106): Shader compilation error
D/skia ( 5106): ------------------------
D/skia ( 5106): Errors:
D/skia ( 5106):
D/skia ( 5106): Shader compilation error
D/skia ( 5106): ------------------------
D/skia ( 5106): Errors:
D/skia ( 5106):
D/skia ( 5106): Shader compilation error
D/skia ( 5106): ------------------------
D/skia ( 5106): Errors:
D/skia ( 5106):
D/skia ( 5106): Shader compilation error
D/skia ( 5106): ------------------------
D/skia ( 5106): Errors:
D/skia ( 5106):
D/EGL_emulation( 5106): eglMakeCurrent: 0xec5ed840: ver 3 1 (tinfo 0xec593810)
D/skia ( 5106): Shader compilation error
D/skia ( 5106): ------------------------
D/skia ( 5106): Errors:
D/skia ( 5106):
D/skia ( 5106): Shader compilation error
D/skia ( 5106): ------------------------
D/skia ( 5106): Errors:
D/skia ( 5106):
D/skia ( 5106): Shader compilation error
D/skia ( 5106): ------------------------
D/skia ( 5106): Errors:
D/skia ( 5106):
D/skia ( 5106): Shader compilation error
D/skia ( 5106): ------------------------
D/skia ( 5106): Errors:
D/skia ( 5106):
D/skia ( 5106): Shader compilation error
D/skia ( 5106): ------------------------
D/skia ( 5106): Errors:
D/skia ( 5106):
D/skia ( 5106): Shader compilation error
D/skia ( 5106): ------------------------
D/skia ( 5106): Errors:
D/skia ( 5106):
D/skia ( 5106): Shader compilation error
D/skia ( 5106): ------------------------
D/skia ( 5106): Errors:
D/skia ( 5106):
D/skia ( 5106): Shader compilation error
D/skia ( 5106): ------------------------
D/skia ( 5106): Errors:
D/skia ( 5106):
D/skia ( 5106): Shader compilation error
D/skia ( 5106): ------------------------
D/skia ( 5106): Errors:
D/skia ( 5106):
应用程序运行正常,但控制台显示上述错误。
我的配置:
Android Studio 3.5.1
Build #AI-191.8026.42.35.5900203,于 2019 年 9 月 25 日构建
JRE:1.8.0_202-release-1483-b03 amd64
JVM:JetBrains s.r.o 的 OpenJDK 64 位服务器虚拟机
Windows 10 专业版 64 位
【问题讨论】:
【参考方案1】:我通过更改模拟器的设置解决了我的Shader compilation error
。
按下位于模拟器侧面板上的...
按钮,然后转到设置部分。在那里,转到高级选项卡并将 OpenGL ES API 级别更改为Compatibility (OpenGL ES 1.1/2.0)
。
不要忘记在此更改后关闭并重新运行模拟器。在第一次运行时,模拟器可能会在其屏幕上弹出警告,并且需要一段时间才能准备好,但不要担心。
【讨论】:
【参考方案2】:错误信息来自:Add ShaderErrorHandler to GrContextOptions
在以前的 Flutter 版本中,已禁用持久缓存以解决问题。但是,它目前在 Flutter 引擎中启用: Revert "Disable the persistent cache
可能的解决方案:
将 Flutter 版本降级为链接提交 启用渲染flutter run --enable-software-rendering
在模拟器中禁用硬件加速
问题:
8578 Shader compilation error
【讨论】:
我将--enable-software-rendering
添加到 [Edit Configurations...] > [Additional arguments] 并且它已修复。 Flutter v1.12
@TheTahaan 降级和避免硬件加速不是一个非常可持续的解决方案。与此同时,问题的根本原因已得到修复。就我而言,flutter clean 可以解决问题(这可能是必要的,因为我的模拟器之前已经崩溃了)。【参考方案3】:
打开终端,导航到您的文件夹,然后
在调试后输入flutter run --enable-software-rendering
并再次运行。
这对我有用,它也可能对你有帮助!
【讨论】:
这是一个临时解决方案,如果使用此选项,则必须一次又一次地热重载。对不起rangerboyy...【参考方案4】:我遇到了同样的问题。使用 flutter clean 然后运行应用程序。这修复了我的。
【讨论】:
【参考方案5】:我遇到了同样的问题,一旦我将小部件包裹在 Scaffold 中,问题就解决了。
【讨论】:
我用脚手架把它包起来【参考方案6】:当我在模拟器中测试时,它发生在我身上。我的Emulated Performance
曾经设置为Automatic
,在我的情况下它使用Hardware - GLES 2.0
运行。将其更改为 Software - GLES 2.0
即可解决此问题。
在哪里可以找到设置: 打开 Android Studio,打开 AVD 管理器,单击虚拟设备上看起来像铅笔的编辑图标。在那里你会找到这个设置。
【讨论】:
【参考方案7】:请添加--enable-software-rendering到
[Edit Configurations...] > [Additional arguments]
它应该被修复
【讨论】:
Android Studio > 运行 > 编辑配置 > 附加运行参数:--enable-software-rendering【参考方案8】:由于您的模拟器而发生这种情况,在真实设备上运行该应用程序,然后在您的模拟器上再次运行它。 我这样做了,并解决了我的问题。
【讨论】:
模拟器的具体原因是什么?为什么“在真实设备上”运行应用程序会修复它?您能否对此解决方案添加任何见解? 我刚测试过,不知道为什么-_- 这不是一个有用的答案,在真实设备上运行它并不能解决模拟器上的问题。 就我而言,这解决了我的问题。【参考方案9】:也许以下技术有效: 如果您使用的是 android studio,则有一个测试文件夹。在该文件夹中,如果您单击自动解决选项,它会创建一个导致错误的类。就我而言,它是 myapp() 并且已解决。也许它有效。 让我知道它是否有效。
【讨论】:
【参考方案10】:我的代码是4170着色器编译错误,
我通过移动根目录中的字体文件夹(自定义字体特别是图标,因为它们也是相同的)解决了这个问题。 路径应该是这样的-
fonts:
- family: MyIconClass
fonts:
- asset: fonts/myIcons.ttf
【讨论】:
以上是关于Flutter 1.9:D/skia(5106):着色器编译错误的主要内容,如果未能解决你的问题,请参考以下文章
是否有 Android Skia logcat 输出的文档? [关闭]
黑果小兵macOS Catalina 10.15.4 19E266 正式版 Clover 5106原版镜像[双EFI版]