| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- # 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 -Xms256m -XX:MaxMetaspaceSize=256m -XX:+HeapDumpOnOutOfMemoryError
- # Bugs: This will override important JVM argument defaults. Include all important JVM arguments if you wan to change arguments. See https://github.com/gradle/gradle/issues/19750
- # 内存预算(32G 机器实测):Gradle daemon 6g + Kotlin daemon 4g + lint/编译 worker ≈ 8g,
- # 峰值 ~18g,为 IDE、浏览器和系统留出余量。
- # 之前是 -Xmx12g,叠加 kotlin.daemon 的 -Xms3g 与 16 并发 worker 后会同时向系统申请
- # 近 20G 提交内存,AGP lint 阶段直接出现 “Native memory allocation (mmap) failed for G1
- # virtual space”,Gradle daemon 被原生 OOM 干掉。这里把单个 JVM 的上限收回来,
- # 并配合 org.gradle.workers.max 限制并发进程数。
- org.gradle.jvmargs=-Xmx6g -Xms1g -XX:MaxMetaspaceSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseG1GC
- # 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
- # 并发 worker 进程上限。默认取 CPU 核数(本机 16),AGP lint / Kotlin 编译会各自 fork JVM,
- # 核数越多同时存活的 JVM 越多,内存被放大得越厉害;6 是本机实测能稳定跑完
- # `lintAppDebug` 与完整测试集的取值。
- org.gradle.workers.max=6
- # 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=false
- # Kotlin code style for this project: "official" or "obsolete":
- kotlin.code.style=official
- # android.enableNewResourceShrinker' is deprecated.
- # It was removed in version 8.0 of the Android Gradle plugin.
- # android.enableNewResourceShrinker=true
- android.experimental.enableNewResourceShrinker.preciseShrinking=true
- # https://blog.gradle.org/introducing-file-system-watching
- org.gradle.vfs.watch=true
- # Disable buildFeatures flags by default
- android.defaults.buildfeatures.resvalues=false
- android.defaults.buildfeatures.shaders=false
- # enables namespacing of each library's R class so that its R class includes only the resources declared in the library itself
- # and none from the library's dependencies, thereby reducing the size of the R class for that library.
- android.nonTransitiveRClass=true
- # https://chromiumdash.appspot.com/releases?platform=Android
- CronetVersion=128.0.6613.40
- CronetMainVersion=128.0.0.0
- android.injected.testOnly=false
- android.nonFinalResIds=true
- android.injected.androidTest.leaveApksInstalledAfterRun=true
- android.uniquePackageNames=false
- android.dependency.useConstraints=true
- android.generateSyncIssueWhenLibraryConstraintsAreEnabled=false
- android.r8.strictFullModeForKeepRules=false
- org.gradle.configuration-cache=true
- android.newDsl=false
- org.gradle.java.installations.auto-detect=true
- org.gradle.java.installations.auto-download=false
- # 构建缓存:任务输入不变时复用输出,加速 clean build / 切换分支 / CI
- org.gradle.caching=true
- # Kotlin 守护进程内存:legado Kotlin 代码量大,默认偏小会导致 daemon 重启与 GC 停顿。
- # 4g 上限足够;-Xms 从 3g 降到 512m,避免 daemon 一启动就向系统真实提交 3G 内存。
- kotlin.daemon.jvmargs=-Xmx4g -Xms512m -XX:+UseG1GC -XX:MaxMetaspaceSize=512m
- # Gradle 9.4+:显式开启 Tooling API 并行(IDE sync),避免依赖 org.gradle.parallel 的弃用隐式推导
- org.gradle.tooling.parallel=true
|