플러터:배포(안드로이드)
개요
플러터(Flutter)로 개발한 애플리케이션을 안드로이드(Android) 환경에서 배포하기 위해서는 릴리즈 빌드 생성, 서명(Signing), Google Play Console 등록 등의 과정을 거쳐야 한다.
사전 준비
다음 항목들이 준비되어 있어야 한다.
| 항목 | 설명 | 비고 |
|---|---|---|
| 플러터 환경 확인 | flutter doctor 에서 안드로이드와 관련한 모든 항목이 초록 체크(✓) 상태여야 한다. | 아마 이미 되어 있겠지만.. |
| 계정 |
|
앱 정보 설정
앱 패키지명 (Application ID)
안드로이드 앱은 고유한 패키지명을 가진다.
형식:
com.example.myapp
확인 및 수정 위치:
android/app/build.gradle
defaultConfig { applicationId "com.example.myapp" }※ Google Play에 한 번 등록한 패키지명은 변경할 수 없다.
앱 이름
표시되는 앱 이름은 다음 파일에서 설정한다.
android/app/src/main/res/values/strings.xml
<string name="app_name">My App</string>
릴리즈용 키 생성
안드로이드 앱은 반드시 서명된 APK 또는 AAB 파일로 배포해야 한다.
키스토어 생성
다음 명령으로 키스토어를 생성한다.
keytool -genkey -v -keystore my-release-key.jks \ -keyalg RSA -keysize 2048 -validity 10000 \ -alias my-key-alias
my-release-key.jks 파일은 반드시 안전하게 보관해야 한다.
키 분실 시 앱 업데이트가 불가능해진다.
키 정보 등록
키 정보를 별도 파일로 관리한다.
android/key.properties
storePassword=비밀번호 keyPassword=비밀번호 keyAlias=my-key-alias storeFile=my-release-key.jks
build.gradle 설정
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file("key.properties")
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
android {
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}릴리즈 빌드 생성
Android App Bundle (권장)
Google Play 권장 방식이다.
flutter build appbundle
생성 위치:
build/app/outputs/bundle/release/app-release.aab
APK 파일 생성 (테스트용)
flutter build apk --release
Google Play Console 등록
개발자 계정 생성
https://play.google.com/console
1회 등록비 결제 필요
새 앱 만들기
앱 이름 입력 기본 언어 선택 앱 또는 게임 선택 무료/유료 여부 선택
앱 정보 입력
필수 입력 항목:
앱 설명 (짧은 설명 / 자세한 설명)
앱 아이콘 (512×512)
스크린샷
개인정보처리방침 URL
앱 업로드
내부 테스트
처음 배포 시 내부 테스트를 권장한다.
경로:
테스트 → 내부 테스트 → 새 버전 만들기
AAB 파일 업로드
테스터 계정 등록
실제 기기에서 설치 테스트 가능
프로덕션 배포
모든 검토가 끝난 후 프로덕션으로 배포한다.
심사 소요 시간: 수 시간 ~ 수일
정책 위반 시 반려 가능
버전 관리
버전은 다음 두 값으로 관리한다.
version: 1.0.0+1
1.0.0 : 사용자에게 보이는 버전
+1 : 내부 빌드 번호 (업데이트 시 반드시 증가)
주의사항
- 릴리즈 키 분실 금지
- 패키지명 변경 불가
- 광고 사용 시 광고 ID 및 정책 명시 필요