일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 프론트엔드
- GA4
- 개발공부
- 인터뷰
- LABBIT
- 구글애즈
- 마케팅
- 개발자
- UX
- growthhacking
- 데이터너겟
- 프론트엔드개발자
- 디자이너
- JavaScript
- 그로스마케터
- figma
- 개발일지
- 그로스해커
- 컴포넌트
- 데이터분석
- 개발자인터뷰
- Weirdsector
- 그로스해킹
- 구글애널리틱스
- 개발스터디
- 위어드섹터
- UTM
- 구글애널리틱스4
- Datanugget
- 피그마
- Today
- Total
위어드섹터 공식 블로그
[ Flutter - Android / Google Play Console 에 업로드 하는 방법 ] 본문
Android application을
Google Play Console (https://play.google.com/intl/ko/console/about/ )
에 업로드하기 위해선 배포하려는 어플리케이션의 설치 파일을 Google Play Console에 업로드해야 합니다.
오늘은 Flutter 프로젝트에서 aab 파일을 추출하는 방법을 적어보려 합니다. 다음은 aab 파일을 release 하기 위한 step 입니다.
Step 1. 디지털 서명하기
기존에는 안드로이드 앱을 배포하기 위해 upload key와 signing key를 모두 개발자가 관리하고 서명했었습니다. 하지만 해당 키를 분실하면 두 번 다시 업데이트를 할 수 없는 문제가 발생했습니다.
문제를 보완하고자, 2017년 5월부터 signing key는 google이 관리하는 방식이 도입되었습니다. 따라서 개발자는 앱에 upload key로 디지털 서명을 한 후 google play console에 업로드하면 됩니다.
혹시 키를 분실했다면 새 키를 만들고 https://support.google.com/googleplay/android-developer/contact/key 다음 링크에서 지원팀에 앱 인증과 관련된 파일인 upload_certificate.pem을 첨부하여 새 키로 재설정해달라고 요청하면 됩니다.
upload key를 발행하기 위해 다음 명령어를 cmd 창에 입력합니다.
keytool -genkey -v -keystore c:/Users/USER_NAME/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key |
여기서 ‘c:/Users/USER_NAME/’ 은 키를 보관할 경로를 뜻하고, -alias 뒤에 있는 key
에 key의 별칭을 저장합니다.
여기서 keystore 파일을 생성하는데 keystore 시스템을 사용하면 암호화 키를 컨테이너에 저장하여 기기에서 키를 추출하기 어렵게 할 수 있습니다. 즉, 키 저장소에 키가 저장되면, 키 자료는 내보낼 수 없는 상태로 유지하면서 키를 암호화 작업에 사용할 수 있습니다.
Step 2. 앱에서 keystore을 참조하기
앱에서 keystore을 참조하기 위해. <app dir>/android/key.properties 파일을 생성합니다.
storePassword=<step1 에서 지정한 비밀번호> keyPassword=<step1 에서 지정한 비밀번호> keyAlias=<step1 에서 alias로 지정한 이름> storeFile=<key store 파일 위치, 예) /Users/<user name>/key.jks> |
Step 3. 앱의 서명을 release 파일 빌드시 입력해주기
<app dir>/android/app/build.gradle 파일에서 다음 코드를 추가합니다.
android { def keystoreProperties = new Properties() def keystorePropertiesFile = rootProject.file('key.properties') if (keystorePropertiesFile.exists()) { keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) } // defaultConfig {} 아래에 추가. signingConfigs { release { keyAlias keystoreProperties['keyAlias'] keyPassword keystoreProperties['keyPassword'] storeFile file(keystoreProperties['storeFile']) storePassword keystoreProperties['storePassword'] } } |
buildTypes { release { // signingConfig signingConfigs.debug 에서 다음과 같이 변경 signingConfig signingConfigs.release } } |
Step 4. aab 파일 추출하기
1. 앱 디렉토리로 이동합니다. (명령어: cd <앱의 디렉토리>)
2. 다음 명령어를 실행합니다.
flutter build appbundle |
앱의 aab 번들 파일은 <app dir>/build/app/outputs/bundle/release/app.aab 에 생성됩니다.
※ 주의사항 ※
google play console에 버전업을 위한 앱을 올릴 경우
버전명이 겹치면 안 됩니다. (버전명이 겹칠 경우, pubspec.yaml 파일에서 version 명을 변경하면 됩니다.)
출처:
https://flutter-ko.dev/docs/deployment/android
https://developer.android.com/studio/publish/app-signing?hl=ko
https://success206.tistory.com/160
블로그 구독자 문의 주소 : info@weirdsector.co.kr
LABBIT을 운영하는 Team 위어드섹터 만나러 가기
'Developing > App' 카테고리의 다른 글
[Google Apps Script] 구글시트와 구글 폼 연동하기 (1/2) (1) | 2022.11.14 |
---|---|
[iOS / Flutter] Flutter 앱에 Facebook SDK 설치 후 캠페인 성과 확인하기 (0) | 2022.11.01 |
[ Firebase / SHA 확인하는 방법 ] (0) | 2022.10.18 |