[Flutter] 안드로이드 앱 배포하기

Flutter에서 하이드리드 앱 개발시

구글 플레이스토어에 비해 iOS 앱스토어에 배포하는 방법은 비교적 간단했다.

 

따로 키를 서명할 필요없이

xcode에서 Product > Archieve 해주고 Distributed App을 누른 뒤, AppStoreConnect에 업로드해주면 끝난다.

 

물론 Archieve를 누르기 전까지 여러가지의 에러 상황이 있었지만.. 에러 상황은 따로 기록해두기로..!

 

앱 아이콘(런치 아이콘) 등록 관련 내용은 여기선 생략!

 

> (안드로이드) 앱에 디지털 서명하기

Google Play 스토어에 출시하기 위해서는 반드시 앱에 디지털 서명을 해야한다.

 

1. KeyStore 만들기

2. 앱으로부터 KeyStore참조하기

3. Gradle에서 서명구성하기 

 

1. KeyStore 만들기

하나의 키스토어로 여러 앱을 출시 할 수 있지만, 앱마다 각각 해주는 게 좋을 것 같아 새로 만들어주었다.

https://www.masterqna.com/android/39280

https://stackoverflow.com/questions/53516201/can-we-use-the-same-signing-key-for-two-different-android-apps

 

아래 명령어를 사용해서 key를 먼저 생성해준다.

// mac
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

 

물어보는 질문에 모두 대답하고 마지막에 y를 적어주면, key.jks 파일이 만들어진 경로를 알려주고 끝난다.

 

2. 앱으로부터 Keystore 참조하기

android > app 경로에 key.jks 파일을 넣어주고,

android > app 경로에 keystore 참조에 대한 구성을 담은 key.properties 파일을 생성해서 아래와 같은 코드를 입력하면 된다.

storePassword=<키생성시 입력한 암호>
keyPassword=<키생성시 입력한 암호>
keyAlias=key
storeFile=./key.jks
img.pngandroid/app 경로

 

공식문서에는 key.properties 파일을 개인적으로 보관하고 공개된 저장소에 업로드하지 않도록 적혀있으므로,

해당 파일을 android > .gitignore에 추가해주면 된다.

img.pngandroid/.gitignore

 

3. Gradle에서 서명 구성하기

앱의 서명을 구성하기 위하여 android > app > build.gradle을 수정해줄 차례이다.

 

첫번째, android { ... } 위에 아래의 코드를 추가해서 keystore 정보를 가져올 수 있도록 해준다.

   def keystoreProperties = new Properties()
   def keystorePropertiesFile = rootProject.file('app/key.properties')
   if (keystorePropertiesFile.exists()) {
       keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
   }
   
   android { ...

 

두번째, buildTypes 블럭을 아래 코드로 대체해준다. (debug -> release)

   signingConfigs {
       release {
           keyAlias keystoreProperties['keyAlias']
           keyPassword keystoreProperties['keyPassword']
           storeFile file(keystoreProperties['storeFile'])
           storePassword keystoreProperties['storePassword']
       }
   }
   
   buildTypes {
       release {
           signingConfig signingConfigs.release
       }
   }
img.png

 

이렇게하면 앱의 release 빌드에서 자동으로 서명이 된다!

 

4. 빌드 구성 검토하기 

공식 문서에서 검토하라고 한 것들을 검토해준다.

img.png

 

5. release 앱 번들 빌드하기

터미널을 열고 android 경로로 이동해서 아래 명령어로 appbundle을 빌드해준다.

flutter build appbundle

 

 

앱의 릴리즈 번들은 (app-release.abb)
플러터 프로젝트/build/app/outputs/bundle/release  path에 생성된다.

 

6. 앱을 Play Console에 업로드

플레이스토어 콘솔에 app-release.abb파일을 직접 업로드하면 끝!

 

[참고 URL]

https://eunjin3786.tistory.com/295

https://jacobko.info/flutter/flutter-12/

0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

Flutter(플러터)

번호 제목 글쓴이 날짜 조회수
16 flutter fcm push 관리자 01-12 235
15 webview_flutter로 file upload하기 (Android) 관리자 12-01 313
14 Flutter에서 webview_flutter alert confirm 안 될때 처리 관리자 10-26 317
13 [flutter] Guideline 5.1.1 관리자 10-06 408
12 [ Flutter ] ITMS-90078 오류 해결 관리자 10-06 318
11 Flutter로 App 을 store 등록하기 관리자 09-13 348
10 [flutter] 앱의 패키지 이름을 변경하는 방법 관리자 09-10 278
9 Flutter 디버그 모드 / 릴리즈 모드 구분하기 / 디버깅 안될때 관리자 09-10 197
8 [Flutter] 안드로이드 앱 배포하기 관리자 09-10 220
7 flutter 안드로이드 출시하기 keystore 적용 (keystore 분실 해결방법) 관리자 09-10 180
6 flutter 프로젝트 생성 및 iPhone에서 실행해보기(for Mac) 관리자 08-23 194
5 Flutter 인기 아키텍처 라이브러리 3종 비교 분석 - GetX vs BLoC vs Provider 관리자 04-13 513
4 플루터 관리자 04-11 299
3 [Flutter] WebView 사용하기 2편 관리자 04-10 498
2 [Flutter] WebView 사용하기 1편 관리자 04-10 635
1 Java / Spring 공부를 처음 시작 한다면 관리자 10-25 1,945