Android Studio gradle的构建时间太长

Android Studio gradle的构建时间太长,android,android-studio,build,gradle,build.gradle,Android,Android Studio,Build,Gradle,Build.gradle,我的Android Studio项目过去构建速度更快,但现在构建需要很长时间。你知道是什么导致了延误吗? 我试过了,但没有效果。我没有运行任何可能中断构建的反病毒程序。我的应用程序也没有那么大(大约5MB),它过去常常在几秒钟内构建,但不确定发生了什么变化 10:03:51 Gradle build finished in 4 min 0 sec 10:04:03 Session 'app': running 10:10:11 Gradle build finished in 3 min

我的Android Studio项目过去构建速度更快,但现在构建需要很长时间。你知道是什么导致了延误吗? 我试过了,但没有效果。我没有运行任何可能中断构建的反病毒程序。我的应用程序也没有那么大(大约5MB),它过去常常在几秒钟内构建,但不确定发生了什么变化

10:03:51 Gradle build finished in 4 min 0 sec  
10:04:03 Session 'app': running  
10:10:11 Gradle build finished in 3 min 29 sec  
10:10:12 Session 'app': running  
10:20:24 Gradle build finished in 3 min 42 sec  
10:28:18 Gradle build finished in 3 min 40 sec  
10:28:19 Session 'app': running  
10:31:14 Gradle build finished in 2 min 56 sec   
10:31:14 Session 'app': running  
10:38:37 Gradle build finished in 3 min 30 sec  
10:42:17 Gradle build finished in 3 min 40 sec  
10:45:18 Gradle build finished in 3 min 1 sec  
10:48:49 Gradle build finished in 3 min 30 sec  
10:53:05 Gradle build finished in 3 min 22 sec  
10:57:10 Gradle build finished in 3 min 19 sec  
10:57:11 Session 'app': running  

找到了原因!!如果Android Studio设置了代理服务器,但无法访问服务器,那么构建需要很长时间,可能是试图访问代理服务器并等待超时。当我删除代理服务器设置时,它工作正常


删除代理:
文件>设置>外观和行为>系统设置>HTTP代理

如果您使用的是Google Play服务,请确保您没有在Gradle构建脚本中使用此选项:

compile 'com.google.android.gms:play-services:8.3.0'
只使用应用程序真正使用的谷歌API。如果您使用的是谷歌地图,您可以使用:

com.google.android.gms:play-services-maps:8.3.0
当我这样做的时候,我的编译时间从2分钟到25秒左右。有关可选择性编译的Google API列表,请参阅:


@AndroidDev解决方案对我有效。 我把整个图书馆都放在了格拉德尔

compile 'com.google.android.gms:play-services:8.4.0'
换一个解决了这个问题。从4分钟到1分钟

compile 'com.google.android.gms:play-services-ads:8.4.0'
compile 'com.google.android.gms:play-services-analytics:8.4.0'

Thnx

很长一段时间以来,我一直面临着同样的问题,但我通过调整gradle中的设置解决了这个问题

compile 'com.google.android.gms:play-services:8.4.0'
步骤1:在模块应用程序中在BuildScript中添加依赖项

buildscript {
 dependencies {
         classpath 'com.android.tools.build:gradle:2.0.0-alpha9'
}
}
步骤2:添加dexOption并给出以下heapSize

  dexOptions {
    incremental = true;
    preDexLibraries = false
    javaMaxHeapSize "4g"
}
步骤3:添加productFlavors

    productFlavors {
    dev {
        minSdkVersion 23
        applicationId = "com.Reading.home"
    }
    prod {
        minSdkVersion 15
        applicationId = "com.Reading.home" // you don't need it, but can be useful

    }
}
这将减少您的构建时间。

在Android Studio中,转到 文件->设置->构建、执行、部署->构建工具->渐变

(如果在mac上)Android Studio->首选项…->构建、执行、部署->构建工具->渐变

检查“全局渐变设置”下的“脱机工作”

注意:在新版Android studio中,
视图->工具窗口->渐变->在线/离线切换按钮

它将减少90%的渐变构建时间


如果您刚刚在gradle中添加了一个新的依赖项,则必须取消选中脱机工作,否则gradle将无法解析依赖项。完成解析后,您可以检查脱机工作以获得更快的构建

在Android studio 2.0的测试版中,他们推出了一个名为。它大大缩短了构建时间。其核心概念是,Android Studio只将所做的微小更改推送到已经运行的应用程序中

它将我们在代码中所做的更改分为三个部分:热交换、热交换和冷交换,这取决于更改将给构建带来多少负载。之后,它只需交换已经运行的应用程序中的代码,我们就可以在几秒钟内看到所做的更改。有关更多信息,请参阅他们的

您可以下载Android Studio 2.0预览版


PS:这个功能有一些问题。他们已经在文档中列出了。安装前请检查它。

遵循这些步骤将使其速度提高10倍,并将构建时间减少90%

首先在以下目录中创建名为gradle.properties的文件:

/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)
建议阅读: !

根据这篇优秀的文章,你应该尝试优化以下内容:

  • 格雷德尔守护进程
  • 并行项目执行
  • 按需配置项目
  • 模块很贵

找到了一种简单且最好的方法来构建gradle

转到你的应用>>打开你的gradle.properties并更改其中的几行[删除.]

否则你也可以复制粘贴我下面的代码片段

    # Project-wide Gradle settings.

# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.

# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx2048m -XX:MaxPermSize=512m
 org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
 org.gradle.parallel=true
这对我来说很管用,几乎需要2-3分钟,现在只需要5-6秒


在上面的场景中,我的mac电脑有8GB的ram,所以我为gradle分配了4gb,我的电脑也有类似的问题。 Windows Defender封锁了Gradle大楼的部分区域。 我禁用了它,在那之后工作得很好。

1)在我向gradle文件添加了一些新的库依赖项之后,我的构建时间严重增加,结果证明在那之后我需要使用multidex。当我正确设置multidex时,我的构建时间增加到了2-3分钟。因此,如果您想要更快的构建时间,请避免使用multidex,并尽可能减少库依赖项的数量

2) 您也可以尝试在android studio中启用“脱机工作”,就像这里建议的那样,这是有意义的。这不会在每次生成时重新蚀刻库。在禁用“脱机工作”的情况下,连接或代理/vpn使用缓慢可能会导致构建时间缓慢


3) 谷歌服务-如本文所述,不要使用整个捆绑包,只使用它所需的部分。

检查您的互联网连接。如果互联网速度非常慢,gradle的构建也需要很长时间。我通过将我的wifi互联网连接更改为另一个高速连接进行检查。现在构建时间是正常的。在使用其他解决方案之前,请尝试此方法。有人会错误地决定重新安装或更改设置。我希望这会有帮助。感谢和问候。

启用Java 8功能导致构建速度极慢

格拉德尔

删除上述行后,它将在几秒钟内生成

这是一个问题

项目经理的回答

我们知道构建时间是Jack现在的问题。我们对2.4 Gradle插件进行了改进,这对于增量构建来说应该是一个重大改进


到目前为止,我能找到的最新Gradle版本是检查Windows操作系统中的磁盘使用情况…

问题可能与此有关,在我的案例中,Windows 8操作系统消耗了100%的磁盘使用率

尤其是Windows搜索服务,可能是最消耗的。 使用以下命令禁用它:

高级管理主任(行政)

检查此链接

  • 转到文件->设置-->渐变
     jackOptions {
            enabled true
      }
    
      compileOptions {
        targetCompatibility 1.8
        sourceCompatibility 1.8
    }
    
    net.exe stop "Windows search"
    
    buildTypes {
            release {
                minifyEnabled true
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }//debug{
             //   minifyEnabled true
             //   proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}
    
    android {
    compileSdkVersion 25
    buildToolsVersion "29.0.2"
    
    defaultConfig {
        applicationId "com.uwebtechnology.salahadmin"
        minSdkVersion 9
        targetSdkVersion 25
    }
    
    android 
    {
      compileSdkVersion 28
       buildToolsVersion "25.0.2"
    
     defaultConfig {
        applicationId "com.uwebtechnology.salahadmin"
        minSdkVersion 15
        targetSdkVersion 28
     }