[React-Native] Android APK & AAB 파일 생성하기

모리스·2022년 7월 12일
0

React-Native

목록 보기
8/12
post-thumbnail

개요

며칠 전 앱을 급하게 빌드해서 release 해야했는데, 회사 CI (jenkins) server가 급먹통이 되었다.. :(
수동으로 android 앱을 빌드해서 심사에 넣어달라고 요청이 왔다.
이번 노트는 android의 apk 파일과 aab 파일 생성에 대해서 작성해 보려한다.


1. keysotre 생성

나는 회사에 해당 프로젝트에 맞는 keystore가 있지만 이 노트에서는 키 생성부터 작성해본다.
프로젝트 폴더에서 terminal에 다음과 같은 명령어를 입력한다.
여기서 your_key_nameyour_key_alias는 원하는 이름으로 작성하면 된다.

keytool -genkey -v -keystore your_key_name.keystore -alias your_key_alias -keyalg RSA -keysize 2048 -validity 10000

위 명령어를 입력하면 비밀번호 입력과 여러 옵션 질문들이 나온다. 비밀번호를 제외한 질문들은 필수사항이 아니다. 그냥 엔터를 치면 Unknown으로 적용된다.

키 저장소 비밀번호 입력:
새 비밀번호 다시 입력:
이름과 성을 입력하십시오. // optional
조직 단위 이름을 입력하십시오. // optional
조직 이름을 입력하십시오. // optional
구/군/시 이름을 입력하십시오. // optional
시/도 이름을 입력하십시오. // optional
이 조직의 두 자리 국가 코드를 입력하십시오. // optional

마지막에 입력한 내용이 맞는지 물어보는데 yes 하면된다.
입력이 완료되면 해당 프로젝트 폴더에 keystore파일이 생성된다.

2. 프로젝트에 키 저장소 추가

your_key_name.keystore 파일을 복사 후 RN프로젝트의 android/app 디렉토리안에 붙혀넣기한다.

mv your_key_name.keystore /android/app

3. Gradle 설정

3-1. 프로젝트의 android/gradle.properties를 편집해 다음 코드를 추가한다.

MYAPP_UPLOAD_STORE_FILE=your_key_name.keystore
MYAPP_UPLOAD_KEY_ALIAS=your_key_alias
MYAPP_UPLOAD_STORE_PASSWORD=***** // 키 생성 시 설정한 비밀번호
MYAPP_UPLOAD_KEY_PASSWORD=***** // 키 생성 시 설정한 비밀번호

3-2. android / app / build.gradle에 다음 코드를 추가한다.

singingConfigs {
	debug {
    	...
    }
    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 {
    debug {
      ...
    }
      release {
        ...
        signingConfig signingConfigs.release
      }
  }
}

4. APK & AAB 파일 생성

google play console에 apk파일을 그대로 올리게된다면 앱의 용량을 줄여서 올리라는 경고 문구를 띄운다. 그래서 google play에서 제공해주는 aab(android app bundle)을 사용하여 앱의 모든 컴파일된 코드 및 리소스를 포함하며 apk 생성 및 서명을 google play에 맡기고 각 기기 설정에 맞게 최적화된 apk를 생성해 준다.

그래도 개인 디바이스에서 테스트를 해보려면 apk가 필요하다. apk 파일 생성 명령어에 대해 알아보자.
터미널에서 다음 명령어를 입력한다.

cd android
./gradlew assembleRelease

이렇게하면 android/app/build/outputs/apk/release에 apk 파일이 생성된다.

AAB 파일 생성 명령어는 다음과 같다.

cd android
./gradlew bundleRelease

AAB 파일은 android/app/build/outputs/bundle/release에 생성된다.

이렇게 생성된 apk파일은 디바이스에 설치에 테스트할 수 있고, aab 파일은 google play store에 업로드하여 앱을 출시할 수 있다.

profile
모바일 앱 개발 노트 :)

0개의 댓글