본문으로 이동

플러터:배포(안드로이드)

학교의 모든 지식. SMwiki

플러터(Flutter)로 개발한 애플리케이션을 안드로이드(Android) 환경에서 배포하기 위해서는 릴리즈 빌드 생성, 서명(Signing), Google Play Console 등록 등의 과정을 거쳐야 한다.

사전 준비

[편집 | 원본 편집]

다음 항목들이 준비되어 있어야 한다.

항목 설명 비고
플러터 환경 확인 flutter doctor 에서 안드로이드와 관련한 모든 항목이 초록 체크(✓) 상태여야 한다. 아마 이미 되어 있겠지만..
계정
  • Google 계정
  • Google Play Developer 계정(유료, 1회 등록)

앱 정보 설정

[편집 | 원본 편집]

앱 패키지명 (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 및 정책 명시 필요