flutter build 시 내가 주로 사용하는 옵션을 정리해보았다.
빌드 명령어 형식
flutter build <subcommand> [arguments]
1. Subcommand options
해당 옵션은 필수적으로 입력해야 된다. 없이 입력할 경우 subcommand를 입력하라고 터미널 창에 출력된다.
아래는 주로 사용하는 옵션이다.
Command | 설명 |
apk | Android APK 파일로 Build |
appbundle | Android App Bundle 파일로 Build |
ios | iOS apllication Bundle로 빌드 |
ipa | 배포용 archive Bundle 및 IPA 빌드 |
web | web application Build |
1-1. APK와 App Bundle의 차이
구글은 2021년 8월부터 구글 플레이에 등록되는 신규 앱인 경우 App Bundle(.aab)의 파일만 등록 가능하도록 스토어 정책이 변경됐다. (2021년 8월 이전 등록되었던 앱은 APK로 업데이트해도 무방하다.)
APK
- 완성된 안드로이드 앱 파일이다. 그러므로 안드로이드 기기에 직접 파일을 넣고 설치 시 앱을 실행할 수 있다.
- 앱 서명을 APK 파일에 직접 첨부한다.
App Bundle
- aab 파일만으로는 기기에 직접 설치가 불가능하다. (스토어를 반드시 거쳐야한다.)
- APK 를 완성해주는 요소를 담은 패키지이다.
- 사용자가 필요로하는 요소만 담아 APK 파일로 만들어 앱을 설치한다.
(ex. 최신 기기에서만 쓸 수 있는 기능을 구버전 기기에서는 필요 없을 것이다.)
- 앱 크기가 줄어든다. (APK 대비 평균 15% 감소)
- 앱 서명을 구글이 대신한다.
1-2. IPA와 ios apllication Bundle의 차이
IPA
- 스토어 등록을 위한 압축파일이다.
- app bundle, .dysm. assets 패키지 등을 모두 포함한다.
- 기기에 직접 설치 가능하다. (탈옥되어 있는 경우에 한해)
ios Apllication Bundle
- 앱 바이너리, 리소스 파일 등을 포함한 bundle 파일이다.
- 지원하는 모든 디바이스에 대한 데이터를 포함한다.
- 기기에 직접 설치 불가
2. Arguments Options
Flavor
- Android와 iOS에서 Flover 설정 후 사용할 수 있다.
- 동일한 소스로 다른 버전의 앱을 빌드할 수 있다.
- Flavor 설정 하는 방법은 추후 다른 포스트에 업로드할 예정이다.
flutter run --flavor [flavor 명]
//Ex) flutter run --flavor product
Entry point
- 프로그램이 시작하는 지점 (main 파일)을 지정한다.
- main에서 설정을 달리 지정해야하는 build시 사용된다.
- Entry point option을 사용하지 않을 경우 Defalut인 lib/main.dart로 지정된다.
flutter run -t [main 파일 경로]
//Ex) flutter run -t lib/main.dart
Reference
'Flutter' 카테고리의 다른 글
정규식(Regex)을 쉽게 다뤄보자 (0) | 2023.03.29 |
---|---|
BLE(Bluetooth Low Energy) 연동 (1) | 2023.03.21 |
chat_gpt_sdk (ChatGPT 연동) (1) | 2023.03.15 |
Kakao_flutter_sdk issues 등록기 (0) | 2023.02.15 |
iOS build 시 'pod repo update' 에러 대응 (1) | 2023.01.27 |