[react-native][android]-배포하기

song·2021년 3월 21일
1
  1. key store 생성
    cd/android/app

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

jks 파일로

keytool -genkeypair -alias <your_key_alias> -keyalg RSA -keysize 2048 -validity 9125 -keystore <your_key_name>.jks

-v :결과를 상세하게 보기 옵션
-keystore: 키가 저장소 파일. 없으면 생성.
-alias : 키의 별칭.
-sigalg :인증서의 알고리즘. 해시 알고리즘으로 구성된다.(SHA256widthRSA)
-keysize : 키사이즈가 클수록 느리지만 보안성이 조흔 .2048 권장
-validity : 인증서의 유효기간

  1. JKS 형식을 pkcs12 저장소형식으로 변경

    keytool -importkeystore -srcketstore <your_key_name.keystore> -destkeystore <your_key_name.keystore> -deststoretype pkcs12

  2. Gradle 전역 변수 설정
    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=*

4.Gradle config에signing release 설정
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
}
}
}

5.빌드 파일 사이즈 최적화
android/app/build.gradle

enableSeparateBuildPerCPUArchitecture: apk 파일 빌드시 각 CPU 별로 파일을 분리해서 apk 파일을 생성합니다. 다른 CPU에 필요한 파일 내용들이 빠지므로 파일 용량이 작아집니다. 대신 apk 파일이 여러개 생기며, 앱을 배포할시 생성된 apk 파일 모두를 업로드하셔야합니다.
enableProguardInReleaseBuilds: 코드 난독화에 필요한 Proguard를 활성화합니다. Proguard는 코드 난독화를 해주는 동시에 코드 사이즈를 줄여주므로 파일 용량이 작아집니다.

6.release apk 생성(AAB)

react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle
cd android
./gradlew bundleRelease

android/app/build/outputs/bundle/release/.aab
APK 파일 생성

cd android
./gradlew app:assembleRelease

profile
프론트엔드 개발자

0개의 댓글