🧑🏻‍💻 SW 기술/🧿 Flutter

[Flutter] 안드로이드 배포 & 출시

Do! Lee 2023. 1. 16. 12:56

배포종류 

안드로이드 앱을 배포하는 방식에는 크게 Google Play와 같은 앱 마켓플레이스를 이용한 배포와 그 외의 대체 배포방식으로 나눌 수 있습니다.

두 방식 모두 출시할 앱을 배포해야 하므로 공통적으로 릴리즈 빌드(배포용 빌드)를 거치게 됩니다.

 

 

 

릴리즈 빌드하기 

개발할 땐 Flutter의 빌드 모드 중 디버그 모드를 이용해 개발에 최적화된 컴파일 과정을 거쳤다면,

배포를 하기 위해선 Flutter의 빌드 모드 중 릴리즈 모드를 이용해 불필요한 디버그 도구를 줄이고 빠른 시작, 빠른 실행, 작은 앱 사이즈 등 사용자에 최적화된 컴파일 과정을 거쳐야합니다.

 

 

1. 안드로이드 스튜디오를 이용한 릴리즈 빌드

안드로이드 시뮬레이터/기기를 연결한 후 Run에 들어가서 다음을 선택해서 릴리즈 빌드할 수 있습니다.

 

 

2. CLI(터미널 창)을 이용한 릴리즈 빌드

시뮬레이터/기기가 연결된 상태에서,

flutter run --release

다음과 같은 명령어로 릴리즈 빌드를 수행할 수 있습니다.

(flutter run) → 디버그 모드 빌드

(flutter run --release) → 릴리즈 모드 빌드 

 

 

 

릴리즈 빌드하기 - 파일 검토 

사실 릴리즈 빌드하기 이전에 프로젝트 내 여러 파일들을 검토해야 합니다!


✔️ 런처 아이콘 추가하기

 

앱 고유의 아이콘 이미지를 추가하는 과정입니다. 아래 링크에서 아이콘을 추가하는 방법을 확인할 수 있습니다.

https://flutter-ko.dev/docs/deployment/android#%EB%9F%B0%EC%B2%98-%EC%95%84%EC%9D%B4%EC%BD%98-%EC%B6%94%EA%B0%80%ED%95%98%EA%B8%B0

 

Android 앱 출시 준비하기

Flutter 앱을 개발하는 동안, 커멘드 라인에서의 `flutter run`을 실행하거나IDE에 있는 툴바 **Run** 과 **Debug**를 선택하여 앱을 테스트할 수 있습니다. Flutter는 기본적으로 앱의 _debug_ 버전을 빌드합니

flutter-ko.dev

 

 

 

✔️ 앱 manifest 파일 검토하기

 

경로: (프로젝트 폴더)/android/app/src/main/AndroidManifest.xml 파일

파일이 올바른 값을 포함하는지 검토합니다. 특히:

  • application: <application 태그 안에 있는 android:label이라는 값을 수정해서 앱의 최종 이름을 수정할 수 있습니다.

 

 

 

✔️ 빌드 구성 검토하기

 

경로: (프로젝트 폴더)/android/app/build.gradle 파일이 올바른 값을 포함하는지 검토합니다. 특히:

 

android{  defaultConfig{ ...

  • applicationId를 수정해서 앱의 고유한 id를 최종적으로 결정 할 수 있습니다.
  • versionCode&versionName을 수정해서 내부 앱의 버전 번호를 지정할 수 있습니다.(버전 업데이트마다 바꿔야함)
  • minSdkVersion & targetSdkVersion을 확인하세요.

만약 전반적으로 build.gradle 파일에 에러가 있다고 IDE가 알려준다면(빨간글씨), 아래 링크를 참고하세요!

https://stackoverflow.com/questions/56938436/first-flutter-app-error-cannot-resolve-symbol-properties

 

First Flutter App error: cannot resolve symbol "Properties"

I followed the steps in the Flutter document and tried to build my first Flutter app in Intellij IDEA. And when I try to run it,there was an error about my JAVA_HOME variable. And an error about ca...

stackoverflow.com

 

위와 같은 파일 검토 과정을 마쳤다면, 릴리즈 빌드를 진행하면 됩니다!

 

 

 


Google Play Store에 출시하기 

 

✔️ 앱 서명하기

 

앱을 처음 출시할 때, 앱의 서명을 만들어야 합니다. 아래 링크를 참고하세요!

https://flutter-ko.dev/docs/deployment/android#%EC%95%B1-%EC%84%9C%EB%AA%85%ED%95%98%EA%B8%B0

 

Android 앱 출시 준비하기

Flutter 앱을 개발하는 동안, 커멘드 라인에서의 `flutter run`을 실행하거나IDE에 있는 툴바 **Run** 과 **Debug**를 선택하여 앱을 테스트할 수 있습니다. Flutter는 기본적으로 앱의 _debug_ 버전을 빌드합니

flutter-ko.dev

 

 

✔️ 앱 번들 빌드하기

 

안드로이드 앱 번들(AAB)이란 앱의 모든 컴파일된 코드 및 리소스를 포함하며 APK 생성 및 서명을 Google Play에 맡기는 게시 형식으로 각 기기 설정에 맞게 최적화된 APK를 Google Play가 생성해서 제공하도록 도와줍니다.

 

CLI(터미널 창)을 이용한 앱 번들 빌드

flutter build appbundle

cd 명령어로 프로젝트 디렉토리로 이동하거나,

안드로이드 스튜디오의 터미널 창에서

다음과 같은 명령어로 앱 번들 빌드를 수행할 수 있습니다.

 

만들어진 aab 파일은 다음 경로로 저장됩니다.

(프로젝트 폴더)/build/app/outputs/bundle/release/app.aab

 

 

 

✔️ Google Play 스토어에 출시하기
구글의 `Play Console`을 통해서 Google Play에 앱을 등록하고 관리할 수 있습니다.

https://play.google.com/console

 

Google Play Console | Google Play Console

앱 및 게임이 성장할 수 있도록 사용자에게 도달하고 사용자 참여를 유도하는 데 도움이 될 도구, 프로그램, 통계를 이용하세요.

play.google.com

 

프로덕션 출시/테스트용 출시를 위해선 Play Console에서 안내하는 다양한 절차를 밟아야합니다.

  • 앱 정보를 설정한다(예: 로그인 유무 설정, 연령 설정 등).
  • 스토어에 등록될 정보들을 설정한다(예: 연락처, 앱 카테고리, 앱 사진 등).
  • 프로덕션 탭에서 앱과 이전에 만들었던 AAB파일을 업로드하여 등록해서 프로덕션/테스트 버전을 만든다.
  • 프로덕션/테스트 트랙으로 출시하면 Google의 심사(약 5~7일)를 거쳐 Play Store에 출시가 완료됩니다.