在 Debian 上运行 Flutter 应用闪退,常见原因和排查方式如下(按出现频率排序):
Flutter 在 Linux 上依赖 GTK / OpenGL / X11 等库。
典型表现
Aborted (core dumped)解决
sudo apt update
sudo apt install -y \
libgtk-3-0 \
libgl1 \
libglu1-mesa \
libxkbcommon0 \
libnss3 \
libsecret-1-0 \
libayatana-appindicator3-1
如果是 Wayland:
sudo apt install xwayland
Flutter Linux 默认使用 GTK + OpenGL。
解决尝试
flutter run --enable-software-rendering
或设置环境变量:
export LIBGL_ALWAYS_SOFTWARE=1
flutter run
Flutter 不建议 root 运行。
错误方式
sudo flutter run
正确方式
flutter run
检查:
flutter doctor -v
常见问题:
安装:
sudo apt install clang cmake ninja-build pkg-config
某些插件:
排查
flutter run -v
看是否在 Plugin registrant 阶段崩溃。
Debian 12 默认可能是 Wayland。
检查
echo $XDG_SESSION_TYPE
如果是 wayland,尝试:
export GDK_BACKEND=x11
尤其是:
尝试:
flutter run --disable-gpu
flutter run -v
或运行已编译程序:
./build/linux/debug/bundle/your_app
flutter doctor 无致命错误--enable-software-rendering 能跑如果你愿意,可以告诉我:
我可以帮你精确定位原因。