반응형
해당 글에서는 React-native에서 Andriod 디바이스로 테스트를 하는 경우 빌드 속도를 올리는 방법에 대해서 공유합니다.
1) gradle.properties 파일 설정
1. Gradle 캐시 속성 설정하기
💡 Gradle에서는 빌드 과정에서 많은 파일들을 생성하고 관리를 합니다.
💡 '캐시'를 통하여 이전에 빌드된 캐시를 사용하여 빌드시간을 단축시켜 빌드를 빠르게 수행할 수 있습니다.
org.gradle.caching=true
2. Daemon 모드 사용하기
💡 Daemon 모드란?
- 빌드에 사용되는 JVM을 한번 시작하고 빌드가 완료될 때까지 계속해서 사용합니다.
- 이전 빌드에서 생성된 캐시를 사용하여 최대한 많은 작업을 건너뛰고 빌드를 빠르게 수행할 수 있습니다.
- 캐시가 없는 경우 데몬은 자동으로 캐시를 생성합니다.
💡Daemon 모드를 사용하는 이유
- Gradle은 기본적으로 매번 빌드할 때마다 새로운 JVM을 시작합니다. 이를 피하기 위해서 Daemon 모드를 사용합니다.
org.gradle.daemon=true
3. 빌드 스레드 수 조정하기 : 병렬 빌드
💡 Gradle은 기본적으로 빌드 스레드를 4개를 사용합니다.
💡 하지만 병렬 빌드로 더 많은 스레드를 사용하면 빌드 시간을 단축할 수 있습니다.
org.gradle.parallel=true
org.gradle.parallel.threads=4
2) 빌드 캐시 무효화
💡 gradle.properties 파일 내에서 캐시를 사용하기에 이전에 빌드한 코드나 설정이 변경되었을 때 적용되지 않을 수 있습니다. 이를 해결하기 위해서는 빌드 캐시를 무효화하는 것이 좋습니다.
./gradlew cleanBuildCache
3) 최종 적용 사항
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx512m -XX:MaxMetaspaceSize=256m
org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
org.gradle.parallel=true
org.gradle.parallel.threads=4
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app's APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true
# Version of flipper SDK to use with React Native
FLIPPER_VERSION=0.125.0
# Use this property to specify which architecture you want to build.
# You can also override it from the CLI using
# ./gradlew <task> -PreactNativeArchitectures=x86_64
reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64
# Use this property to enable support to the new architecture.
# This will allow you to use TurboModules and the Fabric render in
# your application. You should enable this flag either if you want
# to write custom TurboModules/Fabric components OR use libraries that
# are providing them.
newArchEnabled=false
org.gradle.caching=true
org.gradle.daemon=true
4) 참고사항
1. 라이브러리를 추가하는 경우
💡 pacakage.json 파일 내에 '라이브러리를 추가'하는 경우 캐시가 초기화 되며 최초 빌드 속도를 가지게 됩니다.
오늘도 감사합니다. 😀
반응형
'React & React Native > 환경 설정 및 구성' 카테고리의 다른 글
[RN] 갤럭시 개발자 모드 설정 방법 (0) | 2023.09.26 |
---|---|
[RN] React Native Firebase Analytics + Crashlytics 이해 및 설정 방법 : Android (0) | 2023.09.20 |
[RN] React Native APK 파일 이해 및 구성, 실행 방법 : Keystore (2) | 2023.09.18 |
[React] CRA 사용 없이 React/Typescript 개발 환경 구축(with. Webpack/babel) (0) | 2022.11.18 |
[RN] React-native-cli Mac OS 환경설정 : 초기 프로젝트 구성 (0) | 2022.03.20 |