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

在Flutter中嵌入Unity遇BufferQueue异常求助

解决flutter_unity_widget在Android 14折叠屏上的BufferQueue异常问题

核心排查方向与解决方案

  1. 严格匹配Unity版本与flutter_unity_widget对应包

    • 确认切换到2022.2.0f1后,下载的fuw-XXXX.unitypackage完全匹配该Unity版本,跨版本混用是此类问题的常见根源。
    • 导入Unity包时,检查所有文件是否完整导入,无遗漏或冲突,重点关注Android平台的配置文件与资源。
  2. 修正AndroidManifest配置

    • 在Unity项目的AndroidManifest中添加硬件加速配置:在<application>或目标<activity>标签内加入android:hardwareAccelerated="true",BufferQueue异常多与硬件加速未启用或配置错误相关。
    • 确保Flutter项目的android/app/src/main/AndroidManifest.xml中正确配置UnityPlayerActivity:
      <activity android:name="com.xraph.plugin.flutter_unity_widget.UnityPlayerActivity"
                android:theme="@style/UnityThemeSelector"
                android:screenOrientation="fullSensor"
                android:launchMode="singleTask"
                android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale|layoutDirection|density"
                android:hardwareAccelerated="true" />
      
  3. 调整Unity图形渲染设置

    • 尝试将图形API切换为OpenGLES2,部分Android 14设备对高版本OpenGL兼容性较差,而非仅OpenGLES3。
    • 在Unity Player Settings -> Android -> Other Settings中:
      • 设置Rendering Path为Forward
      • 关闭Multithreaded Rendering,折叠屏设备的多线程渲染易引发BufferQueue资源冲突
      • 确保Static Batching与Dynamic Batching配置合理,避免渲染资源过载
  4. 统一Flutter与Unity的Gradle配置

    • 确认Unity Player Settings中的Minimum API Level为24、Target API Level为34,与Flutter项目的compileSdkVersion、minSdkVersion完全一致。
    • 检查Flutter项目android/app/build.gradle的依赖,移除与Unity冲突的重复库(如AndroidX或support库),统一使用AndroidX依赖。
  5. 清理缓存并重新构建

    • 执行Flutter缓存清理:flutter clean → flutter pub get
    • 删除Unity项目的Library与Temp文件夹,重新生成Android项目后导出到Flutter的android/unityLibrary目录
    • 在Android Studio中执行File -> Invalidate Caches...,重启IDE后重新构建整个项目
  6. 适配折叠屏设备特性

    • 在Unity Player Settings -> Android -> Other Settings中,勾选Enable Multiscreen Support,设置Resizeable Window为True,适配折叠屏的多窗口/尺寸变化特性。
    • Flutter中使用Expanded包裹UnityWidget,或根据屏幕尺寸动态调整组件大小,避免固定尺寸导致的渲染适配问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 12:27:18