我的Android Studio项目过去构建得更快,但现在需要很长时间来构建。知道是什么导致了延误吗? 我试过https://stackoverflow.com/a/27171878/391401但没有效果。我没有运行任何可能中断构建的反病毒程序。我的应用程序也没有那么大(大约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要花很长时间来构建——第2部分其中一个提示建议“启用离线模式”。

其他回答

如果你使用谷歌播放服务,确保你没有在你的Gradle构建脚本中使用这个:

compile 'com.google.android.gms:play-services:8.3.0'

只使用你的应用程序真正使用的谷歌api。如果你使用的是谷歌地图,你会使用这个:

com.google.android.gms:play-services-maps:8.3.0

当我这样做时,我的编译时间从2分钟多缩短到25秒左右。有关您可以选择性编译的谷歌api的列表,请参阅:

https://developers.google.com/android/guides/setup

我在kotlin也遇到了同样的问题。更新过时的kotlin运行时为我解决了这个问题

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

2)你也可以尝试在android studio中启用“离线工作”,就像这里建议的那样,这是有意义的。这将不会在每次构建时重新获取库。可能由于禁用了“脱机工作”而导致连接缓慢或代理/vpn使用缓慢可能导致构建时间变慢。

3)谷歌服务-正如这里提到的,不要使用整个捆绑包,只使用它需要的部分。

检查你的网络连接。如果网速很慢,gradle构建也需要很长时间才能构建。我把我的wifi网络连接换成了另一个高速连接。现在构建时间正常了。在使用其他解决方案之前,请尝试一下这个方法。有人会做出错误的决定重新安装或更改设置。我希望它能有所帮助。谢谢和问候。

我很长一段时间都面临着同样的问题,但我通过调整gradle中的设置解决了它。

步骤1:在Module app中添加BuildScript中的依赖项

buildscript {
 dependencies {
         classpath 'com.android.tools.build:gradle:2.0.0-alpha9'
}
}

步骤2:添加dexOption并给出以下heapSize

  dexOptions {
    incremental = true;
    preDexLibraries = false
    javaMaxHeapSize "4g"
}

第三步:添加产品口味

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

    }
}

这将减少您的构建时间。