본문 바로가기
RaspberryPi

flutter 앱을 라즈베리파이를 위한 deb 파일 생성

by hyperhand 2024. 1. 13.

놀고 있는 작은 모니터에 라즈베리파이를 연결해 flutter앱을 띄우기로 했다. 그동안은 모바일이나 웹용으로만 빌드해봤지 데스크탑으로 빌드를 해본적이 없는데 뭐 flutter가 멀티플랫폼을 위해 개발된 프레임웍인 만큼 별다른게 없을거라 생각했다.

 

실제 해보니 별건 없었는데 개발이나 테스트는 기존과 같이 일반PC에서 하면 되지만 빌드하고 실행되는 환경은 arm 코어를 사용하는 라즈베리파이므로 다른 방법으로 빌드를 해야 했다.

 

몇가지 방법이 있는듯 했는데 내가 사용했던 방법은 flutter_to_debian이라는 패키지를 사용한 방법이다. flutter 앱을 구동 환경에 맞게 deb 파일로 생성해주는 패키지다.

 

순서는 다음과 같다.

  1. 프로젝트 루트 디렉토리에 debian 디렉토리 생성
  2. 생성한 debian 디렉토리 안에 debian.yaml 파일 생성하고 다음과 같이 내용 작성
flutter_app: 
  command: flutter_kiosk2	# 라즈베리파에서 앱 실행시 사용할 명령
  arch: arm64	# CPU 아키텍쳐
  parent: /usr/local/lib	# 앱이 설치될 경로

control:	# 소프트웨어 설명들
  Package: KIOSK2
  Version: 1.0.0
  Architecture: arm64
  Essential: no
  Priority: optional
  Depends:
  Maintainer: Leeky
  Description: My Calendar App

 

  3. 라즈베리파이 바탕화면에서 바로가기 아이콘을 만들고 싶다면 다음의 순서로 작업한다.

    1) debian 디렉토리 밑에 gui 디렉토리 생성

    2) 앞서 debian.yaml 파일의 command에 명시했던 이름과 동일한 이름으로 .desktop 파일 생성하고 아래와 같이 작성

# flutter_kiosk2.desktop

[Desktop Entry]
Version=1.0
Name=KIOSK2
GenericName=KIOSK2
Comment=My Calendar App
Terminal=false
Type=Application
Categories=Utility
Keywords=Flutter;share;files;Kiosk2;

    3) 같은 파일 이름으로 아이콘으로 사용할 png 파일도 gui 디렉토리에 넣어준다.

 

  4. 여기까지 작성하고 소스코드를 git을 통하든 해서 라즈베리파이에 복사한다.

  5. 라즈베리파이에서 아래 명령으로 flutter_to_debian 패키지 설치

$ dart pub global activate flutter_to_debian

 

  6. 프로젝트 루트 디렉토리로 이동한 후 앱 빌드

$ flutter build linux

 

  7. 다음 명령으로 deb 파일을 생성한다.

$ flutter_to_debian


  8. 빌드가 완료되면 debian/packages 디렉토리에 deb 파일이 생성돼 있을 것이다.

  9. 이 생성된 파일로 라즈베리파이에 설치하면 완료

$ dpkg -i flutter_kiosk2.deb

 

 

자세한 내용은 아래 링크 참조

https://pub.dev/packages/flutter_to_debian

반응형