Gradle缓存笔记
来自于:
- Understanding Different Gradle Caches for Android Projects, part 1.
- Understanding Different Gradle Caches for Android Projects, part 2
- Understanding Different Gradle Caches for Android Projects, part 3
[Build]-[Clean Project]和gradlew clean都是仅删除根目录和Module目录下的build文件夹。build文件夹是Gradle自带的、默认的缓存策略。
Build Cache(现在默认关闭,通过--build-cache或org.gradle.caching=true打开),使用了默认单项目缓存一样的机制,会把部分缓存保存到~/.gradle/caches/build-cache-*,机器上所有项目可共享。这也就是为什么Dagger偶尔失效时,需要删除系统Gradle缓存的原因。
- 文中提到
R.java,但记得在某个AGP版本中,文件已经变成jar,轻易找不到了。 kapt的useBuildCache在某个版本中默认开启了。关闭文档。
Gradle Deamon默认开启。
依赖储存在~/.gradle/caches/*中。其中transform-*保存了本地修改后的依赖,非下载内容。
Invalidate Caches / Restart只清理IDE缓存,不清理上述缓存。
android.enableBuildCache在AGP 7中被弃用。
org.gradle.unsafe.configuration-cache=true实验中的Configuration Cache,期待正式版。缓存储存在[PROJECT_ROOT]/.gradle/configuration-cache中。
还有一些各种属性的默认值。