[React Native] Android 배포용 빌드하기

김효선·2020년 12월 21일
1

어제 포폴용으로 만든 RN 앱을 리드 미까지 다 작성하고 나서 빌드도 해보고 싶단 생각이 들었다. 정리해두면 좋을 것 같아서 전부터 시작하려고 했던 블로그를 이제 시작하게 되었다 !

맥북이 없기 때문에.. 윈도우 데스크탑으로 안드로이드 빌드 시작!
참조사이트: ReactNative 공식문서

1. 서명 키 생성

/android/app 경로에서 아래 코드를 입력한다.

$ keytool -genkeypair -v -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

그러면 키 저장소 비밀번호를 입력하라고 뜨는데 입력하고 나면 이름과 성을 .. 조직 단위를.. 조직 이름을.. 조직의 두 자리 국가 코드를 입력해라 등등.. (KR 로 입력했음) 입력하라는게 몇개 나온다. 그것을 다 입력하면,

my-key-alias 에 대한 키 비밀번호를 입력하라고 뜨는데 키 저장소와 동일한 비번을 쓰고 싶다면 엔터키를 누르면 된다.

2. Gradle 변수 설정

/android/gradle.properties 경로

MYAPP_RELEASE_STORE_FILE=my-upload-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=위에서 지정한 비밀번호
MYAPP_RELEASE_KEY_PASSWORD=위에서 지정한 비밀번호

/android/app/build.gradle 경로

android {
    ...
    defaultConfig { ... }
    splits { ... }
    signingConfigs {
        release {
            if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
                storeFile file(MYAPP_RELEASE_STORE_FILE)
                storePassword MYAPP_RELEASE_STORE_PASSWORD
                keyAlias MYAPP_RELEASE_KEY_ALIAS
                keyPassword MYAPP_RELEASE_KEY_PASSWORD
            }
        }
    }
    buildTypes {
        release {
            ...
            signingConfig signingConfigs.release
        }
    }
}

이 단계에서

FAILURE: Build failed with an exception.
[36D> :app > Compiling D:\...\android\app\build.gradle into local compilation cache
* Where:
Build file 'D:\...\android\app\build.gradle' line: 221

* What went wrong:
Could not compile build file 'D:\...\android\app\build.gradle'.
> startup failed:
  build file 'D:\...\android\app\build.gradle': 221: expecting '}', found '' @ line 221, column 1.
  1 error


* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
 Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 2s

이런 이상한 에러를 만났는데 .. signingConfigs에 if문을 입력하고 나서 중괄호를 하나 빼먹는 바보같은 실수를 하는 바람에 시간을 날렸다 ㅠ.ㅠ... 복붙해서 넣다가 생긴 실수이니 꼭 확인하기!!

3. 빌드 명령어

/android 경로 터미널에다 아래 코드를 입력한다.

./gradlew assembleRelease

그럼 몇분가량 소요되면서 빌드 성공!

성공한 apk파일은

/android/app/build/outputs/apk/app-release.apk 에 있다.

이 파일을 가지고 구글 플레이 콘솔가서 배포하면 된다!

profile
차근차근 나아가는 주니어 프론트엔드 개발자

0개의 댓글