gradle.properties 4.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. # Project-wide Gradle settings.
  2. # IDE (e.g. Android Studio) users:
  3. # Gradle settings configured through the IDE *will override*
  4. # any settings specified in this file.
  5. # For more details on how to configure your build environment visit
  6. # http://www.gradle.org/docs/current/userguide/build_environment.html
  7. # Specifies the JVM arguments used for the daemon process.
  8. # The setting is particularly useful for tweaking memory settings.
  9. # Default value: -Xmx512m -Xms256m -XX:MaxMetaspaceSize=256m -XX:+HeapDumpOnOutOfMemoryError
  10. # 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
  11. # 内存预算(32G 机器实测):Gradle daemon 6g + Kotlin daemon 4g + lint/编译 worker ≈ 8g,
  12. # 峰值 ~18g,为 IDE、浏览器和系统留出余量。
  13. # 之前是 -Xmx12g,叠加 kotlin.daemon 的 -Xms3g 与 16 并发 worker 后会同时向系统申请
  14. # 近 20G 提交内存,AGP lint 阶段直接出现 “Native memory allocation (mmap) failed for G1
  15. # virtual space”,Gradle daemon 被原生 OOM 干掉。这里把单个 JVM 的上限收回来,
  16. # 并配合 org.gradle.workers.max 限制并发进程数。
  17. org.gradle.jvmargs=-Xmx6g -Xms1g -XX:MaxMetaspaceSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseG1GC
  18. # When configured, Gradle will run in incubating parallel mode.
  19. # This option should only be used with decoupled projects. More details, visit
  20. # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
  21. org.gradle.parallel=true
  22. # 并发 worker 进程上限。默认取 CPU 核数(本机 16),AGP lint / Kotlin 编译会各自 fork JVM,
  23. # 核数越多同时存活的 JVM 越多,内存被放大得越厉害;6 是本机实测能稳定跑完
  24. # `lintAppDebug` 与完整测试集的取值。
  25. org.gradle.workers.max=6
  26. # AndroidX package structure to make it clearer which packages are bundled with the
  27. # Android operating system, and which are packaged with your app's APK
  28. # https://developer.android.com/topic/libraries/support-library/androidx-rn
  29. android.useAndroidX=true
  30. # Automatically convert third-party libraries to use AndroidX
  31. android.enableJetifier=false
  32. # Kotlin code style for this project: "official" or "obsolete":
  33. kotlin.code.style=official
  34. # android.enableNewResourceShrinker' is deprecated.
  35. # It was removed in version 8.0 of the Android Gradle plugin.
  36. # android.enableNewResourceShrinker=true
  37. android.experimental.enableNewResourceShrinker.preciseShrinking=true
  38. # https://blog.gradle.org/introducing-file-system-watching
  39. org.gradle.vfs.watch=true
  40. # Disable buildFeatures flags by default
  41. android.defaults.buildfeatures.resvalues=false
  42. android.defaults.buildfeatures.shaders=false
  43. # enables namespacing of each library's R class so that its R class includes only the resources declared in the library itself
  44. # and none from the library's dependencies, thereby reducing the size of the R class for that library.
  45. android.nonTransitiveRClass=true
  46. # https://chromiumdash.appspot.com/releases?platform=Android
  47. CronetVersion=128.0.6613.40
  48. CronetMainVersion=128.0.0.0
  49. android.injected.testOnly=false
  50. android.nonFinalResIds=true
  51. android.injected.androidTest.leaveApksInstalledAfterRun=true
  52. android.uniquePackageNames=false
  53. android.dependency.useConstraints=true
  54. android.generateSyncIssueWhenLibraryConstraintsAreEnabled=false
  55. android.r8.strictFullModeForKeepRules=false
  56. org.gradle.configuration-cache=true
  57. android.newDsl=false
  58. org.gradle.java.installations.auto-detect=true
  59. org.gradle.java.installations.auto-download=false
  60. # 构建缓存:任务输入不变时复用输出,加速 clean build / 切换分支 / CI
  61. org.gradle.caching=true
  62. # Kotlin 守护进程内存:legado Kotlin 代码量大,默认偏小会导致 daemon 重启与 GC 停顿。
  63. # 4g 上限足够;-Xms 从 3g 降到 512m,避免 daemon 一启动就向系统真实提交 3G 内存。
  64. kotlin.daemon.jvmargs=-Xmx4g -Xms512m -XX:+UseG1GC -XX:MaxMetaspaceSize=512m
  65. # Gradle 9.4+:显式开启 Tooling API 并行(IDE sync),避免依赖 org.gradle.parallel 的弃用隐式推导
  66. org.gradle.tooling.parallel=true