이번 포스팅에서는 Flutter로 만든 앱을 구글 스토어에 배포하는 방법에 대해 살펴보겠습니다.
Setting the Bundle ID
직접 변경하는 방법도 있긴 하지만, 플러그인의 도움을 받아보겠습니다.
pubspec.yaml 파일에 플러그인을 명시해줍니다.
dev_dependencies:
flutter_test:
sdk: flutter
...
change_app_package_name: 1.1.0
프로젝트에 반영해 줍니다.
$ flutter pub get
이제 다음의 명령어를 이용하여 Bundle ID를 변경해 줍니다.
$ flutter pub run change_app_package_name:main {BUNDLE ID}
Setting the App Version and Build Number
다음으로 앱 버전과 빌드 넘버를 설정해 줍니다.
배포할 때마다 꼭 이 부분을 체크해주세요.
pubspec.yaml 파일에서 version으로 명시된 부분을 변경해 주시면 됩니다.
version: 1.0.0+1
+ 앞쪽은 기존에 사용하시던대로 semantic versioning을 명시하시면 되고, + 뒷쪽에 build number를 명시해 주시면 되요.
몇 번째 build인지를 명시하는 것으로 사용자에겐 보이지 않으며, 프로젝트를 등록할 때 이 숫자가 같으면 업데이트되지 않습니다.
Build할 때마다 하나씩 증가시켜주시면 되요.
Generating and Registering Key
먼저, JRE가 필요하므로 설치를 해줍니다.
https://www.java.com/ko/download/
다음으로, 다음의 명령어를 사용하여 key 파일을 생성해 줍니다.
MAC
$ keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload
Windows
$ keytool -genkey -v -keystore %userprofile%\upload-keystore.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias upload
-keystore 옵션이 key의 생성 경로이므로, key 위치를 바꾸고 싶으시면 이 부분을 조절하시면 되요.
질문에 대해 각자의 상황에 맞게 답을 하시면 생성이 완료됩니다.
이제 생성한 key를 프로젝트에 등록해 줍니다.
android 폴더에 key.properties 파일을 생성합니다.
storePassword=
keyPassword=
keyAlias=upload
storeFile=<PATH>/upload-keystore.jks
Password에는 Key를 만들때 입력한 비밀번호를 넣어주시면 되요. PATH 부분도 각자의 경로를 넣어주시면 되고요.
만든 파일을 android/app/build.gradle에 설정해 줍니다.
...
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
android {
...
signingConfigs {
release {
storePassword keystoreProperties['storePassword']
keyPassword keystoreProperties['keyPassword']
keyAlias keystoreProperties['keyAlias']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
Creating App Bundle
앱의 이름은 android/app/src/main/AndroidManifest.xml에서 설정해 줄 수 있습니다.
<manifest ...>
<application
android:label=""
...
</application>
</manifest>
android:label에 명시를 해주면 됩니다.
이제 다음의 명령어로 앱 번들을 생성합니다.
$ flutter build appbundle
build/app/outputs/bundle/release/app-release.aab 파일이 생성되셨을 겁니다.
이제 이 파일을 다음의 사이트에서 본인의 개발자 계정을 사용하여 등록하고 배포하시면 되요.
구글 스토어의 경우 $25를 내고 개발자 계정을 등록하셔야 합니다.
https://play.google.com/console
Wrap Up
이번엔 앱 번들을 만들어 스토어에 배포하는 것에 대해 살펴보았습니다.
어렵지 않으니 따라하셔서 배포해 보시길 바래요. ^^
(개인적으로 개발자 계정 등록을 하지 않아서 실제로 배포하진 않고 있습니다.)
'Dart (Flutter)' 카테고리의 다른 글
[Flutter] How to Send Notifications on Flutter: Using flutter_local_notification (0) | 2023.04.21 |
---|---|
[Flutter] How to Add an Icon into a Flutter App (0) | 2023.04.18 |
[Flutter] How to Embed Ads into Flutter App (0) | 2023.04.16 |
[Flutter] How to Deploy a Flutter App to an iPhone (0) | 2023.04.11 |
[Dart] Metadata (0) | 2023.02.11 |
댓글