728x90
반응형

앱을 출시하기 위해서 빌드를 해야한다.

  1. keytool로 업로드 키를 생성한다.
    my-upload-key.keystoremy-key-alias는 변경해도 된다.

    $ keytool -genkeypair -v -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
  2. android/gradle.properties에 다음을 추가한다.

    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/app/build.gradle에 다음을 추가한다.

    ...
    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
         }
     }
    }
    ...
  4. 릴리스용 APK를 생성한다.

    $ cd android
    $ ./gradlew bundleRelease

    andorid/app/build/outputs/bundle/releaseapp.aab로 생성된다.

  5. CPU 아키텍처별로 APK를 생성한다.

    ...
    def enableSeparateBuildPerCPUArchitecture = true
    ...

    ./gradlew assembleRelease를 실행하면 CPU 아키텍처별로
    andorid/app/build/outputs/apk/release에 APK가 생성된다.

  6. android/app/build.gradle에 다음을 변경하면 파일 크기를 줄일 수 있다.

    ...
    def enableProguardInReleaseBuilds = true
    ...

 

참고 문헌

  1. https://facebook.github.io/react-native/docs/signed-apk-android

반응형

'React Native' 카테고리의 다른 글

[React Native] Webview 사용  (0) 2020.01.25
[React Native] Admob 사용  (0) 2020.01.25
[React Native] 폰트 추가(2)  (0) 2020.01.25
[React Native] docker와 android emulator 충돌  (0) 2020.01.25
[React Native] 폰트 추가  (0) 2020.01.25

+ Recent posts