android 文件存储速度,使用构建缓存加快整洁构建的速度

构建缓存可以存储构建项目时 Android Plugin for Gradle 生成的特定输出(例如,未打包的 AAR 和经过 dex 预处理的远程依赖项)。使用缓存时,整洁构建的速度会显著加快,因为构建系统在进行后续构建时可以直接重用这些缓存的文件,而无需重新创建。在持续集成服务器上以及在一台本地计算机上运行多个构建流程时,构建缓存也适用。

使用 Android 插件 2.3.0 及更高版本的项目在默认情况下会启用构建缓存(除非您明确停用构建缓存)。不过,如果您将以下某个构建属性设为与下面所示值不同的值,插件将停用经过 dex 预处理的远程依赖项的缓存(这些是每个属性的默认设置,因此,如果您完全不声明它们,经过 dex 预处理的远程依赖项的缓存将保持启用状态)。

android {

defaultConfig {

// If you do enable multidex, you must also set

// minSdkVersion to 21 or higher.

multiDexEnabled false

}

buildTypes {

{

minifyEnabled false

}

}

dexOptions {

preDexLibraries true

}

...

}

...

注意:如果项目使用 Android 插件版本 2.2.2 或 2.2.3,那么它使用的是实验性版本的构建缓存功能。您应更新项目以使用最新版本的 Android 插件。

如果您希望了解提高构建速度的其他方式,请阅读优化构建速度。

更改构建缓存的位置

默认情况下,Android 插件会将您的缓存保存在 /.android/build-cache/ 中。如果您配置以下某个路径变量(按优先级逐渐降低的顺序列出),Android Studio 将改用 /.android/build-cache/:

ANDROID_SDK_HOME

user.home

HOME

Android 插件将为构建缓存使用一个默认位置,以便在使用 Android 插件 2.3.0 或更高版本(并且未停用构建缓存)的所有项目之间共享缓存的文件。例如,在您的一个项目构建并缓存经过 dex 预处理的依赖项后,也使用该依赖项的其他项目可以从共享的构建缓存复制它,从而跳过再次对其进行 dex 预处理。

如果您希望项目创建它自己的缓存(并且不与其他项目共享该缓存),则可以在该项目的 gradle.properties 文件中为缓存指定一个专属位置,如下所示:

// You can specify either an absolute path or a path relative

// to the gradle.properties file.

android.buildCacheDir=

完成文件的修改后,请点击 Sync Project 图标

eced72ebd540c1354957355737c9d90d.png 以创建新的构建缓存目录。

注意:避免为 /build/ 或 //build/ 目录中的构建缓存指定目录,因为 Gradle 会在每次运行 clean 任务时删除这些目录。

如果您希望只与特定的其他项目共享缓存,请在这些项目的 gradle.properties 文件中指定相同的构建缓存目录。

清除构建缓存

Android 插件的 clean 任务可以清除项目的 build/ 目录,与之类似,您可以运行 cleanBuildCache 任务来清除项目的构建缓存。如果项目为其构建缓存指定非默认目录,那么从该项目运行此任务只会清除相关缓存,而不会清除位于默认位置的共享缓存。如需执行此任务,请从菜单栏中依次选择 View > Tool Windows > Terminal,并使用以下命令之一:

在 Windows 上:

gradlew cleanBuildCache

在 Mac 或 Linux 上:

./gradlew cleanBuildCache

注意:如果您停用构建缓存,cleanBuildCache 任务将不可用。

停用构建缓存

由于构建缓存可以加快整洁构建的速度,因此不建议停用此功能。如果您仍希望为项目停用构建缓存,请将以下内容添加到项目的 gradle.properties 文件中:

// To re-enable the build cache, either delete the following

// line or set the property to 'true'.

android.enableBuildCache=false

完成文件的修改后,请点击 Sync Project 图标

eced72ebd540c1354957355737c9d90d.png 以应用您所做的更改。

注意:在您停用构建缓存后,Android 插件将忽略 android.buildCacheDir 属性,并且 cleanBuildCache 任务将不再可用。此外,停用构建缓存不会自动清除缓存目录。如果您决定重新启用构建缓存,这样可以让您保留缓存的文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值