[안드로이드] 구글플레이 - 플러터 앱 버전 업데이트 방법

oen·2022년 1월 24일
0

🇫 Flutter

목록 보기
6/14
post-thumbnail

구글 플레이에 앱을 배포한 후, 재배포 하겠습니다.

코드에서 버전 수정

우선 코드에서 버전을 변경하겠습니다.

versionName, versionCode

안드로이드의 앱 정보에는 버전네임(versionName), 버전코드(versionCode)가 있습니다.

버전네임: 유저가 확인할 수 있는 버전 정보
버전코드: 앱 갱신할 때 버전 정보

android:versionName

  • 앱의 배포 버전을 나타내는 문자열(String)
  • 사용자에게 공개 됨
  • 앱 갱신에 영향을 주지 않으며 정답이 없어 상황에 맞게 의미를 부여해 주면 된다.
  • <major>.<minor>.<point> 로 보통 표기 (예: 1.0.1)

<major> : 컨셉이나 앱이 지향하는 기본 디자인이 변경된 경우 ( 앱의 큰틀이 변화된 경우 )

<minor> : 기능 추가, 기능 삭제 및 사양 등이 변경된 경우

<point> : 버그 수정, 디자인 수정 등

android:versionCode

  • 앱의 버전 코드를 나타내는 정수(int)
  • 업데이트를 검사할 수 있는 용도
  • 첫 번째 버전은 1이고, 이후 versionCode를 1씩 증가시켜서 배포
  • 사용자에게 공개 되지 않음

pubspec.yaml

2.4.0은 flutterVersionName,
10은 flutterVersionCode 입니다.

android/app/build.gradle

flutterVersionName, flutterVersionCode 를 동일하게 맞춥니다.

android/local.properties

마지막으로 local.properties 파일의 flutter.versionName, flutter.versionCode 도 동일하게 맞춰줍니다.


배포 파일 생성

앱을 출시하려면 프로젝트의 여러 파일을 하나의 파일로 압축해서 배포해야 합니다. 이때 키스토어를 이용해 앱을 암호화합니다.

최종 배포 파일을 만들어 봅시다.


안드로이드 스튜디오에서 안드로이드 프로젝트를 엽니다.


로딩이 되는데 시간이 좀 걸립니다.

로딩이 끝나면 [Build -> Generate Signed Bundle / APK..] 메뉴를 선택합니다.

배포 파일 형식을 선택하는 창이 나옵니다. [Android App Bundle]을 선택한 후 Next를 클릭합니다.
예전에는 안드로이드 앱의 배포 파일은 APK(Android aPplication pacKage)였습니다. 하지만 최근에는 AAB(Android App Bundle) 파일로 앱을 출시합니다.

앱 번들은 APK 생성과 서명을 구글 플레이에 맡기는 배포 형식으로, 사용자가 더 작고 최적화된 앱을 내려받을 수 있게 합니다.

이제 키 스토어가 필요합니다. Key store로 내가 만든 앱에 서명해야지 앱을 출시할 수 있습니다. 키 스토어 파일을 분실하거나 비밀번호를 잊어버리면 앱을 업데이트 할 수 없다고 하니 (아예 불가능한건 아니고, 구글에 문의하면 되는걸로 알고 있습니다.) 조심합시다 !!!

저는 이전에 만든 키를 가져와서 정보를 등록했습니다. Key store password, Key alias, Key password를 입력하고 Next를 클릭합니다.


release를 선택한 후 Finish를 클릭합니다.

그러면 잠시 후 플로터 프로젝트 폴더의 android/app 폴더 아래 release 폴더 아래에 최종 배포 파일인 app-release.aab가 생성됩니다.


구글 플레이 콘솔에 업로드

이제 마지막으로 배포 파일을 구글 플레이에 등록하겠습니다.

구글 플레이 콘솔(developer.android.com/distribute/console)에 접속한 후 로그인합니다.
새 버전 만들기 를 클릭합니다.

에러-현재 앱이 30의 API 수준을 타겟팅하고 있지만, 보안 및 성능에 최적화된 최신 API...

App Bundleapp-release.aab 파일을 업로드했습니다.
그런데 처음 보는 에러가 떴습니다.

현재 앱이 30의 API 수준을 타겟팅하고 있지만, 보안 및 성능에 최적화된 최신 API를 기반으로 앱을 빌드하려면 API 수준 31 이상을 타겟팅해야 합니다. 앱의 타겟팅 API 수준을 31 이상으로 변경하세요.

검색해보니
APK를 업로드하는 경우 Google Play의 대상 API 수준 요구사항을 충족해야 하는데, 2023년 1월부터 앱 업데이트는 Android 12 이상을 타겟팅하고 Android 12의 동작 변경사항에 맞게 조정되어야 한다고 해요 (https://developer.android.com/google/play/requirements/target-sdk?hl=ko)

->

build.gradle 파일의 targetSdkVersion 이 30으로 되어있었는데요, 31로 변경해주었습니다.

변경하고 App Bundle을 생성했는데 이런 에러가 뜨네요.

AndroidManifest.xml 파일에

android:exported="true"

를 추가해줍니다.

이제 문제없이 App Bundle에 잘 업로드가 되었습니다 :)

이제 버전 세부정보를 작성하고 버전 검토를 눌러서 나머지 배포 과정을 진행합니다.


키를 로컬에서 가져오는 것도 불안하고 여러가지 수동으로 설정해줘야 하는 번거로움이 있네요.
다음에는 CI/CD로 배포를 자동화 할 수 있는 방법을 알아봐야겠습니다.

참고

https://bugerstory.tistory.com/12

profile
🐾

0개의 댓글