← 글 목록

notes

Android 배포 가이드

Android 앱 배포 절차·서명·스토어 등록 단계별 가이드.


0. 사전 작업

1. 구글 개발자 계정 가입

  • 앱 배포를 위해서는 구글 개발자 계정이 필요합니다.

2. keystore 생성

  • 처음 한번만 진행하면 됩니다.
  • 다음 코드를 터미널에 입력합니다. (폴더 위치는 상관없습니다.)
sudo keytool -genkey -v -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

  • 터미널에 나오는 항목들을 입력합니다.
  • password 값은 반드시 기억해야합니다.
  • 국가코드는 82로 지정합니다.
  • 나머지 정보는 어떠한 값을 입력해도 상관없으므로, 엔터를 치고 넘어갑니다.
  • CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=82가 맞습니까?
  • [아니오] : y

  • android/gradle.propertities에 코드를 추가합니다.
  • ***** 에는 keystore 비밀번호 값을 입력합니다.
MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore
MYAPP_UPLOAD_KEY_ALIAS=my-key-alias
MYAPP_UPLOAD_STORE_PASSWORD=*****
MYAPP_UPLOAD_KEY_PASSWORD=*****

3. Android Studio 패키지명(Package Name) 변경

  • 패키지명 변경이 필요하지 않은 경우에는 진행하지 않아도 됩니다.

1. Android Studio 실행 → Open 클릭 → 프로젝트 내의 android 폴더 선택→ Open 클릭

  • Android Navigator → 톱니바퀴 아이콘 클릭 → Tree Appearance → Compact Middle Packages 클릭(체크 해제)

  • 변경을 원하는 디렉터리 우클릭 → Refactor → Rename 클릭

  • in Whole Project 클릭 → 변경하고 싶은 패키지 명을 입력 → Scope : All Places 선택

    → Refactor 클릭

  • 프로젝트 이름 클릭 → Android Studio 패키지명 변경 확인
  • build.gradle 의 applicationId 검색 → 변경된 패키지 명으로 아래와 같이 변경

4. 코드 추가

  • android/app/build.gradle 의 signingConfigs 부분에 아래 코드를 추가합니다.
android {
    ...
    defaultConfig { ... }
    signingConfigs {
        release {
            if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) {
                storeFile file(MYAPP_UPLOAD_STORE_FILE)
                storePassword MYAPP_UPLOAD_STORE_PASSWORD
                keyAlias MYAPP_UPLOAD_KEY_ALIAS
                keyPassword MYAPP_UPLOAD_KEY_PASSWORD
            }
        }
    }
    buildTypes {
        release {
            ...
            signingConfig signingConfigs.release
        }
    }
}
...

1. Android Bundle 생성

1. keystore 등록

  • 최초로 생성한 keystore 파일만을 이용해야 합니다.
  • 파일을 분실하는 경우, 구글 플레이스토어에 연락하여 새로 key를 발급받는 과정을 진행해야 합니다.

  • my-upload-key.keystore 파일을 android/app으로 이동시킵니다.

2. AppVersion 수정

  • AppVersion 수정과 AAB 생성은 매번 배포마다 진행해야 합니다.

  • android/app/build.gradle 에서 다음 정보를 수정합니다.
  • versionCode : 1을 더해 정수형으로 맞춰줍니다.
  • versionName : 일반적으로는 semetic versioning 규칙을 따릅니다.
  • versionName은 codePush가 적용되는 targetVersion과 연관이 있습니다.
  • package.json 에서 다음 정보를 수정합니다.
  • version : 이전 단계에서 설정한 versionName과 같은 값을 기입합니다.

3. AAB 생성

  • Android Studio 실행 → Open 클릭 → 프로젝트 내의 android 폴더 선택→ Open 클릭

  • Build 클릭 → Generate Signed Bundle / APK.. 클릭

  • Android App Bundle 클릭 → Next 클릭
  • 아래의 정보를 입력 후 Next 버튼을 클릭합니다.
  • Key store path : my-upload-key.keystore의 저장 경로
  • Key store password : keystore 생성 시 비밀번호
  • Key alias : my-key-alias
  • Key password : keystore 생성 시 비밀번호
  • Remember passwords는 절대 체크하면 안됩니다. (오류가 발생할 수 있습니다.)
  • [참고] 견적주세요 어플의 Key store password & Key password : 100aksekdnsfhem

  • release 클릭 → Finish 클릭
  • android/app/release에 app-release.aab 파일이 정상적으로 생성되었는지 확인합니다.

2. PlayStore 등록

  • 이후 추가할 예정입니다.

3. PlayStore 앱 업데이트

  • 해당되는 앱을 클릭합니다.

  • 출시 → 프로덕션 클릭 → 새 버전 만들기 클릭

  • App Bundle → 업로드 클릭 → app-release.aab 업로드
  • [주의] App Bundle에 업로드 후 페이지를 이탈하면 {versionCode} 버전 코드는 이미 사용하였습니다. 라는 에러를 만나게 됩니다.
  • 이 경우에는, versionCode를 변경한 후 다시 aab 파일을 생성해야 합니다.

  • 버전 세부정보를 수정 후, 버전 검토 클릭

  • 변경 내용 확인 후, 프로덕션 트랙으로 출시 시작 클릭 → 출시 클릭