본문 바로가기
프로그래밍/Flutter

[Flutter] 11. Flutter의 "퍼블리싱 및 배포"

by iwbap 2024. 6. 26.
728x90

Flutter 학습: 퍼블리싱 및 배포

Flutter로 개발한 애플리케이션을 실제 사용자에게 제공하기 위해서는 각 플랫폼에 맞게 퍼블리싱 및 배포 과정을 거쳐야 합니다. 이번 글에서는 iOS 및 Android 앱 스토어에 애플리케이션을 배포하는 방법, Flutter 웹 애플리케이션 배포 방법, 그리고 Windows, macOS, Linux용 데스크탑 애플리케이션 배포 방법에 대해 알아보겠습니다.


1. 앱 퍼블리싱: iOS 및 Android 앱 스토어에 배포

Android 앱 스토어에 배포:

  1. 앱 서명 준비:
    • Android 앱을 배포하려면 먼저 앱을 서명해야 합니다. 키스토어 파일을 생성하고 서명 정보를 'key.properties' 파일에 저장합니다.
    [sh]
     
    keytool -genkey -v -keystore ~/my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-key-alias
     
     
    [properties]
     
    storePassword=<password from previous step>
    keyPassword=<password from previous step>
    keyAlias=my-key-alias
    storeFile=<location of the key store file, such as /Users/<user name>/my-release-key.jks>
     
     
  2. build.gradle 파일 수정:
    • 'android/app/build.gradle' 파일을 열고 다음과 같이 수정합니다.
    [groovy]
     
    android {
        ...
        signingConfigs {
            release {
                keyAlias keystoreProperties['keyAlias']
                keyPassword keystoreProperties['keyPassword']
                storeFile file(keystoreProperties['storeFile'])
                storePassword keystoreProperties['storePassword']
            }
        }
        buildTypes {
            release {
                signingConfig signingConfigs.release
            }
        }
    }
     
     
  3. 릴리즈 빌드 생성:
    • 다음 명령어를 실행하여 릴리즈 빌드를 생성합니다.
    [sh]
     
    flutter build apk --release
     
     
  4. Google Play 콘솔에 업로드:
    • Google Play Console에 로그인하고 새로운 애플리케이션을 생성한 후, 'build/app/outputs/flutter-apk/app-release.apk' 파일을 업로드합니다.

iOS 앱 스토어에 배포:

  1. 앱 서명 준비:
    • iOS 앱을 배포하려면 Apple Developer 계정이 필요합니다. Xcode에서 프로젝트를 열고, 'Signing & Capabilities' 탭에서 팀을 선택하고 프로비저닝 프로파일을 설정합니다.
  2. 릴리즈 빌드 생성:
    • 다음 명령어를 실행하여 릴리즈 빌드를 생성합니다.
    [sh]
     
    flutter build ios --release
     
     
  3. 앱 스토어에 업로드:
    • Xcode에서 'Product' -> 'Archive'를 선택하여 아카이브를 생성한 후,' Organizer'에서 'Distribute App'을 선택하여 앱을 App Store에 업로드합니다.

2. 웹 애플리케이션 배포: Flutter 웹 애플리케이션 배포

Flutter 웹 애플리케이션을 배포하는 방법은 매우 간단합니다. 다양한 호스팅 서비스에서 Flutter 웹 애플리케이션을 배포할 수 있습니다.

 

웹 빌드 생성:

  1. 웹 빌드 생성:
    • 다음 명령어를 실행하여 웹 빌드를 생성합니다.
    [sh]
     
    flutter build web
     
    • 빌드 결과는 'build/web' 디렉토리에 생성됩니다.

 

 

GitHub Pages에 배포:

  1. GitHub Pages 설정:
    • GitHub 저장소를 생성하고, 로컬 저장소와 연결합니다.
    [sh]
     
    git init git remote add origin <your-repository-url>
     
     
  2. 빌드 결과 업로드:
    • 빌드 결과를 업로드합니다.
    [sh]
     
    cd build/web
    git add .
    git commit -m "Deploy Flutter web app"
    git push origin master
     
     
  3. GitHub Pages 설정:
    • GitHub 저장소의 설정에서 'GitHub Pages' 섹션을 찾아 'Source'를 'master branch'로 설정합니다.
    이제 웹 애플리케이션이 GitHub Pages를 통해 배포됩니다.

3. 데스크탑 애플리케이션 배포: Windows, macOS, Linux용 애플리케이션 배포

Flutter는 Windows, macOS, Linux용 데스크탑 애플리케이션도 배포할 수 있습니다.

 

Windows 애플리케이션 배포:

  1. 릴리즈 빌드 생성:
    • 다음 명령어를 실행하여 Windows용 릴리즈 빌드를 생성합니다.
    [sh]
     
    flutter build windows
     
    • 빌드 결과는 build/windows/runner/Release 디렉토리에 생성됩니다.
  2. 설치 프로그램 생성:
    • Inno Setup과 같은 도구를 사용하여 설치 프로그램을 생성할 수 있습니다.

 

 

macOS 애플리케이션 배포:

  1. 릴리즈 빌드 생성:
    • 다음 명령어를 실행하여 macOS용 릴리즈 빌드를 생성합니다.
    [sh]
     
    flutter build macos
     
    • 빌드 결과는 'build/macos/Build/Products/Release' 디렉토리에 생성됩니다.
  2. 애플리케이션 서명:
    • macOS 애플리케이션을 배포하려면 Apple Developer 계정을 통해 애플리케이션을 서명해야 합니다.
  3. DMG 파일 생성:
    • DMG Canvas와 같은 도구를 사용하여 DMG 파일을 생성할 수 있습니다.

 

 

Linux 애플리케이션 배포:

  1. 릴리즈 빌드 생성:
    • 다음 명령어를 실행하여 Linux용 릴리즈 빌드를 생성합니다.
    [sh]
     
    flutter build linux
    • 빌드 결과는 'build/linux/x64/release/bundle' 디렉토리에 생성됩니다.
  2. 패키지 생성:
    • 'dpkg-deb'와 같은 도구를 사용하여 Debian 패키지를 생성할 수 있습니다.

이 글에서는 Flutter 애플리케이션을 다양한 플랫폼에 배포하는 방법에 대해 알아보았습니다. iOS 및 Android 앱 스토어에 애플리케이션을 배포하고, 웹 애플리케이션을 호스팅 서비스에 배포하며, Windows, macOS, Linux용 데스크탑 애플리케이션을 배포할 수 있습니다. 이러한 기술을 활용하여 Flutter 애플리케이션을 실제 사용자에게 제공해보세요. Happy Coding!

728x90