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

树莓派4中在Docker容器用flutter-pi运行Flutter应用报错求助

解决Docker容器中运行flutter-pi的报错问题

报错对应解决方案

你遇到的三个报错分别对应locale配置缺失、键盘配置文件不存在、DRM设备访问权限不足的问题,以下是逐个解决的步骤:

1. 处理locale警告

Docker的ubuntu:jammy镜像默认未配置完整locale,需在Dockerfile中添加以下配置:

RUN apt-get update && apt-get install -y locales \
    && locale-gen en_US.UTF-8 \
    && update-locale LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8

ENV LANG=en_US.UTF-8
ENV LC_ALL=en_US.UTF-8

2. 解决键盘配置文件缺失问题

/etc/default/keyboard文件可通过两种方式生成:

  • 方法一:安装依赖包
    在Dockerfile中添加:
    RUN apt-get install -y console-setup
    
  • 方法二:手动创建配置文件
    若不想安装额外包,可直接生成基础配置:
    RUN echo 'XKBMODEL="pc105"\nXKBLAYOUT="us"\nXKBVARIANT=""\nXKBOPTIONS=""' > /etc/default/keyboard
    

3. 修复DRM设备访问失败问题

flutter-pi需要直接访问树莓派的DRM渲染设备,运行容器时必须配置设备权限:

  • 挂载/dev/dri目录并添加设备访问权限
  • 将容器内用户加入video组(该组拥有DRM设备访问权限)

容器运行命令示例:

docker run -d \
  --device=/dev/dri \
  --group-add video \
  -v /本地flutter应用路径:/app \
  你的flutter-pi镜像名 \
  flutter-pi /app

也可在Dockerfile中提前配置用户组:

RUN useradd -m flutteruser \
    && usermod -aG video flutteruser

USER flutteruser

完整Dockerfile示例

FROM ubuntu:jammy

# 配置locale
RUN apt-get update && apt-get install -y locales \
    && locale-gen en_US.UTF-8 \
    && update-locale LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8

ENV LANG=en_US.UTF-8
ENV LC_ALL=en_US.UTF-8

# 安装flutter-pi依赖及键盘配置包
RUN apt-get install -y \
    git \
    cmake \
    pkg-config \
    libdrm-dev \
    libgbm-dev \
    libegl1-mesa-dev \
    libgles2-mesa-dev \
    libinput-dev \
    libudev-dev \
    libsystemd-dev \
    libxkbcommon-dev \
    console-setup \
    && rm -rf /var/lib/apt/lists/*

# 编译安装flutter-pi
RUN git clone https://github.com/ardera/flutter-pi.git \
    && cd flutter-pi \
    && mkdir build && cd build \
    && cmake .. \
    && make -j4 \
    && make install

# 创建用户并加入video组
RUN useradd -m flutteruser \
    && usermod -aG video flutteruser

USER flutteruser

WORKDIR /app

CMD ["flutter-pi", "/app"]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 00:25:56