加快Android Studio 3.2.1中的Gradle构建
是否曾经想过等待几分钟才能在Android Studio中完成构建?我也是。这很烦人。幸运的是,有几种方法可以用来改善这一点。Android使用Gradle进行构建。最新版本是4.6,与以前的版本相比,性能有了巨大提高(有关详细信息,请参阅发行说明)。
步骤1:更新Gradle版本完成此操作的更简单方法是转到:打开模块设置(您的项目)>项目结构
更新
更改为Gradle版本:4.6
和更改为Android插件版本:3.2.1
从https://services.gradle.org/distributions/gradle-4.6-all.zip下载Gradle Release发行版,
并将其复制到Gradle文件夹:
最后一步是在“设置”>“ Gradle”中添加您的分配
不要忘记单击“应用”以保存更改。
步骤2:为项目启用离线模式,Gradle守护程序和并行构建离线模式告诉Gradle忽略更新检查。Gradle每次都会要求依赖项,并且具有此选项会使它仅使用计算机上已有的依赖项。从android studio设置转到Gradle,然后在离线工作框中单击。
- 从android studio设置转到编译器,然后在命令行框中添加“ — offline”,然后单击并行编译独立模块。
下一步是为您的项目启用Gradle守护程序和并行构建。并行构建将导致具有多个模块的项目(Gradle中的多项目构建)并行构建,这将使大型或模块化项目的构建速度更快。
这些设置可以通过在Gradle脚本目录中修改一个名为gradle.properties的文件(即〜/ .gradle / gradle.properties)来启用。其中一些选项(例如并行的Complie模块)可以从Android Studio获得,也可以通过在以下位置启用默认情况下,但是将它们放在gradle.properties文件中将在从终端进行构建时启用它们,并确保您的同事将使用相同的设置。但是,如果您在团队中工作,有时就无法提交这些东西。
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit org.gradle.parallel=true
# When set to true the Gradle daemon is used to run the build. For local developer builds this is our favorite property.
# The developer environment is optimized for speed and feedback so we nearly always run Gradle jobs with the daemon.
org.gradle.daemon=true
使用守护程序可以使您的构建启动更快,因为它不必每次都启动整个Gradle应用程序。Gradle守护程序默认情况下未启用,但建议始终在开发人员的计算机上启用它(但对于连续集成服务器则将其禁用)。有关此模式的常见问题解答,请参见https://docs.gradle.org/current/userguide/gradle_daemon.html。对于某些项目,并行构建设置可能不安全。要求是所有模块都必须解耦,否则构建可能会失败(有关详细信息,请参见http://gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects)。
第3步:启用增量dexign和调整内存设置您可以通过启用增量解压缩来加快构建速度。在模块的构建文件中:
将此选项添加到您的android块:
dexOptions {
incremental true
}
在该dexOptions块中,您还可以指定dex进程的堆大小,例如:
dexOptions {
incremental true
javaMaxHeapSize "12g"
}
其中“ 12g”是12GB的内存。有关此问题的其他信息,请参见google.github.io/android-gradle-dsl/current/。您还可以在设置文件中配置Gradle参数,例如,如果您有大型项目,则增加最大堆大小:
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
在此处查看所有参数列表:https : //docs.gradle.org/current/userguide/userguide_single.html#sec : gradle_configuration_properties了解详细信息。
第四步:禁用防病毒考虑将项目和缓存文件从防病毒扫描中排除。显然这是在安全性上的权衡。但是,如果您在分支之间进行大量切换,则防病毒软件将在允许gradle进程使用它之前重新扫描文件,这会减慢构建时间(特别是带有gradle文件和索引任务的Android Studio同步项目)。测量构建时间并在启用和未启用防病毒功能的情况下处理CPU,以查看是否相关。我希望这有帮助。如果您有任何疑问或其他一些提高构建性能的技巧,请发表评论。
有用的链接