为什么我的 gradle 构建花费了太多时间?

问题描述 投票:0回答:5

我正在开发 apk 大小为 28 MB 的应用程序。我应该怎么做才能减少时间。

如果我在模拟器上运行,则需要 5-7 分钟,但如果我在设备上运行,则需要超过 10 分钟。

java android android-studio android-gradle-plugin build.gradle
5个回答
2
投票

您可以在android studio中设置文件->设置->搜索'Gradle'->选中'使用本地gradle分发'并选中'离线工作'..。它将缩短 Gradel 构建时间。

注意:在较新版本的Android studio中,

View->Tool Windows->Gradle->Toggle button of online/offline


2
投票

有一些减少构建时间的技巧: 在您的

/.gradle/gradle.properties
文件中:

# When set to true the Gradle daemon is to run the build.
org.gradle.daemon=true
# 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
org.gradle.parallel=true
org.gradle.configureondemand=true

您可以在构建项目时禁用 lint 任务,将该任务添加到您的 build.gradle 文件中:

tasks.whenTaskAdded { task ->
    if (task.name.equals("lint")) {
        task.enabled = false
    }
}

对我来说真的很有用!希望可以帮到你!

在减少构建时间之前,您应该找出哪一步花费了太多时间。

./gradlew assembleDebug --dry-run --profile

它将生成一份关于

build/reports/profile/
方向的构建工作的报告,只需阅读该报告即可优化您的构建工作。


1
投票

我也遇到了这个问题,我所做的就是在项目设置中禁用即时运行,然后重建项目。


0
投票

如果您在 Windows 上进行开发,则应打开

Control Panel
->
Windows Defender
,然后转到
Settings
->
Excluded Files and Locations
->
Browse
,然后添加您的项目库(包括
build
文件夹) ),以及
C:\Users\YourUser\.gradle


另外,将以下内容添加到项目中的

gradle.properties

org.gradle.jvmargs = -Xms2048m -Xmx4096m -XX:MaxPermSize=1024m -XX:ReservedCodeCacheSize=1024m

0
投票

如果您最近刚刚抵达这里并采用上述解决方案:

  • 增加记忆力
  • 将 Gradle 置于离线模式
  • 调整 Gradle 设置

并且您的构建仍然非常缓慢(通常是第一个),并且您使用的是 Windows 操作系统,我建议您尝试暂时禁用 Windows Defender 的实时保护系统,直到它完成构建。

对于下载文件的进程非常窥探,并且可能会干扰 Gradle 构建。

© www.soinside.com 2019 - 2024. All rights reserved.