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):着色器编译错误的主要内容,如果未能解决你的问题,请参考以下文章

使用 Flutter Web 1.9 打开外部链接

是否有 Android Skia logcat 输出的文档? [关闭]

bzoj5106 [CodePlus2017]汀博尔 二分

BZOJ5106: [CodePlus2017]汀博尔

黑果小兵macOS Catalina 10.15.4 19E266 正式版 Clover 5106原版镜像[双EFI版]

如何将flutter_web迁移到蜂鸟中颤动?