在Flutter中嵌入Unity遇BufferQueue异常求助
解决flutter_unity_widget在Android 14折叠屏上的BufferQueue异常问题
核心排查方向与解决方案
严格匹配Unity版本与flutter_unity_widget对应包
- 确认切换到2022.2.0f1后,下载的
fuw-XXXX.unitypackage完全匹配该Unity版本,跨版本混用是此类问题的常见根源。 - 导入Unity包时,检查所有文件是否完整导入,无遗漏或冲突,重点关注Android平台的配置文件与资源。
- 确认切换到2022.2.0f1后,下载的
修正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" />
- 在Unity项目的AndroidManifest中添加硬件加速配置:在
调整Unity图形渲染设置
- 尝试将图形API切换为OpenGLES2,部分Android 14设备对高版本OpenGL兼容性较差,而非仅OpenGLES3。
- 在Unity Player Settings -> Android -> Other Settings中:
- 设置
Rendering Path为Forward - 关闭
Multithreaded Rendering,折叠屏设备的多线程渲染易引发BufferQueue资源冲突 - 确保
Static Batching与Dynamic Batching配置合理,避免渲染资源过载
- 设置
统一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依赖。
- 确认Unity Player Settings中的Minimum API Level为24、Target API Level为34,与Flutter项目的
清理缓存并重新构建
- 执行Flutter缓存清理:
flutter clean→flutter pub get - 删除Unity项目的
Library与Temp文件夹,重新生成Android项目后导出到Flutter的android/unityLibrary目录 - 在Android Studio中执行
File -> Invalidate Caches...,重启IDE后重新构建整个项目
- 执行Flutter缓存清理:
适配折叠屏设备特性
- 在Unity Player Settings -> Android -> Other Settings中,勾选
Enable Multiscreen Support,设置Resizeable Window为True,适配折叠屏的多窗口/尺寸变化特性。 - Flutter中使用
Expanded包裹UnityWidget,或根据屏幕尺寸动态调整组件大小,避免固定尺寸导致的渲染适配问题。
- 在Unity Player Settings -> Android -> Other Settings中,勾选
内容的提问来源于stack exchange,提问作者Terry
相关产品推荐
相关产品推荐

