# 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 # # Build-time JVM tuning (each flag explained): # -Xmx2048m : max heap for the Gradle daemon (kept as-is). # -XX:MaxMetaspaceSize=512m : cap on class-metadata space (kept as-is). # -XX:+UseG1GC : use the G1 garbage collector - shorter, more # predictable GC pauses than the default on large # heaps, so build threads stall less during GC. # -XX:+ParallelRefProcEnabled : process GC reference objects on multiple threads, # shortening pauses on builds that allocate heavily. # -XX:+UnlockDiagnosticVMOptions : unlock diagnostic VM options so finer GC tuning # flags can be applied when needed. # -XX:G1ReservePercent=5 : reserve 5% of heap as headroom to reduce costly # promotion failures / full GCs during the build. # -XX:InitiatingHeapOccupancyPercent=35 : start concurrent GC earlier (at 35% occupancy) to # avoid long stop-the-world collections mid-build. org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:+UnlockDiagnosticVMOptions -XX:G1ReservePercent=5 -XX:InitiatingHeapOccupancyPercent=35 # Run independent modules/projects concurrently instead of one after another. # On a multi-module build this compiles modules in parallel, cutting wall-clock build time. org.gradle.parallel=true # Cap the number of Gradle worker processes used for parallel work. # 4 keeps parallelism high while leaving CPU/RAM headroom for Metro, the emulator, and the IDE. org.gradle.workers.max=4 # Enable the Gradle build cache: reuse the outputs of tasks whose inputs are unchanged # (across builds and clean builds), so unchanged modules are not recompiled. org.gradle.caching=true # Explicitly enable the local (on-disk) build cache backing org.gradle.caching above. # (The local cache is on by default once caching is enabled; this makes the intent explicit.) org.gradle.build.cache.local.enabled=true # 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 # Use this property to specify which architecture you want to build. # Mobile-only: build for physical Android devices (ARM) and skip emulator ABIs (x86, x86_64). # Dropping the two emulator architectures roughly halves native build time and APK size. # Note: x86_64 Android Studio emulators (AVDs) will NOT install this build. To run on an # emulator, override per build from the CLI: # ./gradlew -PreactNativeArchitectures=arm64-v8a,armeabi-v7a,x86,x86_64 reactNativeArchitectures=armeabi-v7a,arm64-v8a # 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=true # Use this property to enable or disable the Hermes JS engine. # If set to false, you will be using JSC instead. hermesEnabled=true # Use this property to enable edge-to-edge display support. # This allows your app to draw behind system bars for an immersive UI. # Note: Only works with ReactActivity and should not be used with custom Activity. edgeToEdgeEnabled=false