메뉴 건너뛰기

자료실

DATA

React Native - 안드로이드 앱을 빌드하고 구글 플레이 스토어에 배포하자

React Native CLI로 만든 어플리케이션을 안드로이드 앱으로 빌드하고 구글 플레이 스토어에 업로드 하는 과정을 알아본다.

준비할 것

  • 구글 개발자 등록
  • 안드로이드 서명 키 생성
  • 스크린샷(최소 2개의 스크린샷 필요): 측면 최소 320픽셀 측면 최대 3840픽셀의 JPG 또는 24비트 PNG(알파 없음)
  • 그래픽 이미지: 1024X500 픽셀의 JPG 또는 24비트 PNG(알파 없음)

구글 개발자 등록

구글 개발자 등록 페이지

개발자 등록에는 $25가 필요하며 매년 재등록을 해야 하는 iOS와는 달리 1회 등록으로 평생 이용이 가능하다. 위의 링크에서 차근차근 따라가면 된다.

카드를 등록하면 바로 결제가 이루어진다.

자세한 내용은 Dev Yakuza - 안드로이드 개발자 등록 블로그를 참고 바란다.

안드로이드 서명 키 생성

Facebook - Publishing to Google Play Store

안드로이드 앱을 빌드하고 구글 플레이 스토어에 업로드(배포)하기 위해서는 서명 키를 생성해야 한다. 생성한 서명 키는 잘 보관해야 하며, 서명 키가 바뀔 경우 빌드는 할 수 있으나, 스토어에 업로드 할 수 없게 된다.

[중요] 부득이하게 서명 키를 변경해 앱을 업로드하고자 한다면, 구글에 메일로 문의하여 서비스를 기다려야 한다. 변경된 서비스 키가 적용되는 데에도 시간이 꽤 소요되므로 통상 키 변경과 적용에는 5일 정도 걸릴 수 있다고 알아두자. (웬만하면 서명 키는 잘 보관하여 문제가 생기지 않게 하자.)

자, 이제 키를 생성하는 방법을 알아보자. 우선 루트 디렉토리에서 android/app으로 이동하여 키를 생성한다. 다른 디렉토리여도 상관 없으나 생성된 서명 키를 쉽게 사용하기 위해 우리는 저 디렉토리에 키를 생성하려 한다.

cd android/app
keytool -genkeypair -alias [키 별명] -keyalg RSA -keysize 2048 -validity 9125 -keystore keystore.jks

키 별명 부분에는 영문으로 별명(alias)을 지정해 주면 된다.

이 키는 2048비트 RSA 키이어야 하며 유효기간은 25년이어야 한다. 자세한 내용은 Android Studio 고객센터 - 앱 서명을 확인하자.

Terminal에서 차근차근 입력하며 key를 생성해 나간다.

중간에 맞는지를 질문하는데 맞으면 y, 틀리면 n을 입력하면 된다. 국가 코드는 ko를 입력한다(큰 상관은 없는 것 같다).다 생성하고 나면 위와 같은 화면이다. 성공했다.

안드로이드 빌드

이제 안드로이드를 빌드해 보자. android 폴더로 이동해 다음 명령어를 입력한다.

cd android
./gradlew assembleRelease

빌드된 파일은 android/app/build/outputs/apk/release/ 디렉토리에 생성되며 생성된 모든 파일을 구글 플레이 스토어에 모두 올려주어야 한다.위 사진 기준으로 output.json을 제외한 4개 파일을 모두 업로드 하게 된다.

구글 플레이 스토어에 앱 업로드하기

구글 플레이 스토어(Google Play Store)에 앱을 업로드 하기 위해서는 구글 플레이 콘솔(Google Play Console)을 사용한다. 구글 플레이 콘솔에 들어가 로그인 한다.로그인 한 후, 화면 오른쪽 상단의 “애플리케이션 만들기”라는 파란색 버튼을 클릭해 앱을 생성한다.앱 이름과 언어를 설정하고 만들기를 클릭한다.위 사진의 왼쪽 메뉴에서 빨간 사각형으로 표시된 것들이 기입해야 할 정보들이다. “앱 버전”을 제외한 나머지를 먼저 하나씩 채워 나가보자.빌드한 앱은 “앱 버전”에서 업로드 한다. 위 사진의 프로덕션 트랙이 앱을 업로드 할 수 있는 페이지이다. “관리” 버튼을 눌러보자.“새 버전 출시하기” 버튼을 클릭한다.“계속”을 선택한 후 “추가할 Android App Bundle 및 APK” 섹션에서 “파일 찾아보기” 버튼을 클릭해, 아까 빌드했던 모든 파일(json 제외)을 추가해준다.

APK 파일이 모두 추가되었으면 출시명(버전이름)과 “이전 버전의 새로운 기능” 부분을 채워 넣은 후 맨 밑에 “저장” 버튼, 이후 “검토” 버튼을 클릭하면 된다. 검토가 끝나면 앱을 게시하면 된다.

심사 기간

안드로이드 앱을 처음 등록할 경우 심사에는 1-3일 정도가 소요되고, 웬만하면 통과된다. 심지어 시작부터 버그로 작동하지 않는 경우도 통과되는 것 같다. 이후 업데이트 시에는 약 12-24시간이면 업데이트가 반영되는 것 같다. 빠른 경우 3시간 만에도 업데이트가 반영된다.

앱 업데이트

앱 업데이트는 아까 살펴보았던 구글 플레이 콘솔의 “앱 버전” 메뉴 - “프로덕션 트랙”에서 진행한다. 여기서 주의할 점이 있다. 업데이트를 위해 빌드하는 경우, 버전코드를 반드시 increment해야 한다.

android/app/build.gradle을 열고 스크롤을 내리면 versionCode라는 것을 찾을 수 있다. 매 업로드 시마다 이 숫자는 1씩 증가해야 한다. 깜빡해서 이 숫자를 증가시키지 않고 빌드한 채 업로드를 하려고 하면 구글 플레이 콘솔에서 업로드가 되지 않는 에러가 발생한다. versionName은 굳이 바꾸지 않더라도 versionCode만큼은 반드시 1씩 증가시킨 후, 빌드하고 업데이트를 진행해야 한다.

android {
    compileSdkVersion rootProject.ext.compileSdkVersion

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    defaultConfig {
        applicationId "com.native_makkcha"
        // multiDexEnabled true
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode 15 // 반드시 매 업데이트 목적의 빌드 시마다 1씩 증가시켜야 함
        versionName "1.1.1"
    }
    ...
}
번호 제목 글쓴이 날짜 조회 수
67 영카트 디자인스킨변경 file 소프터 2021.10.19 4
66 php로 Json Web Token 구현하기 소프터 2021.08.05 17
65 권한설정 빡센 페이지에서 curl 안될때 소프터 2021.08.04 4
64 [php] php.ini short_open_tag 변경안될때 해결 방법 출처: https://solbel.tistory.com/1486 [개발자의 끄적끄적] 소프터 2021.08.04 2
63 ios - 이미지에서 알파 채널 제거 소프터 2021.06.25 49
62 2021 6월 웹뷰 기본세팅 소프터 2021.06.08 8
61 mysql 프로시저 정리 소프터 2021.05.24 16
60 mac 이미지에 알파채널제거 소프터 2021.05.07 60
59 aws 컴포저 설치방법 소프터 2021.04.27 17
58 우분투 18.04 도커(Docker) 설치 방법 소프터 2021.04.08 23
57 리눅스 디렉토리 용량 확인 du 소프터 2021.03.08 73
56 아마존 웹서비스 (AWS) 대략적 이용 가격 소프터 2021.02.26 87
55 onShouldStartLoadWithRequest 웹뷰 예외처리 소프터 2021.02.24 91
54 ios 스플래시 중앙정렬 file 소프터 2021.02.23 18
53 그누보드 및 php 에서 브라우저 이미지 캐싱처리 이슈 소프터 2021.02.22 27
52 s3 스토리지 셋팅 소프터 2021.02.09 39
51 셀렉트 박스에 이미지를 넣고싶을때 [1] file 소프터 2021.02.02 31
» 리액트 안드로이드 배포 2021 01.13 키스토어 파일을 보관을 생활화 합시다 소프터 2021.01.13 91
49 우분투 라라벨 설치 소프터 2021.01.04 117
48 우분투 18.04 도커(Docker) 설치 방법 소프터 2021.01.04 30