我的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  

当前回答

检查Windows操作系统的磁盘使用情况…

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

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

cmd(管理)

net.exe stop "Windows search"

4 Tips to Fix 100% Disk Usage & Improve Windows Performance

其他回答

在Android studio 2.0的测试版中,他们推出了一项名为“即时运行”的功能。它在很大程度上减少了构建时间。其核心理念是,Android Studio只会将一些小变化推送到已经运行的应用中。

它将我们在代码中所做的更改分为三部分:热插拔、热插拔和冷插拔,这是基于这些更改会给构建带来多大的负载。在那之后,它只是在已经运行的应用程序中交换代码,我们可以看到变化正在运行几秒钟。去看医生了解更多信息。

在这里你可以下载Android Studio 2.0预览版。

PS:这个功能有一些问题。医生都列出来了。安装前检查一下。

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

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

我做的第二件事是卸载我的杀毒软件(AVG杀毒软件){听起来很疯狂,但我必须这么做}。 它减少gradle构建时间高达40%

我做的第一件事是启用离线模式 (1. 通常在编辑器的右侧点击Gradle 2. 点击连接按钮切换) 它将gradle的构建时间减少了20%

所以通过做这两件事,我的Gradle构建时间减少了60%

如果你使用谷歌播放服务,确保你没有在你的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

在Android Studio中,Version 3.6以上,有一个新的位置来切换Gradle的离线模式来启用或禁用Gradle的离线模式。

要启用或禁用Gradle的离线模式,请从菜单中选择View > Tool Windows > Gradle。在Gradle窗口的顶部栏中,单击“切换离线模式”(靠近设置图标)。

这个图标有点让人困惑,不管怎样,当切换按钮高亮显示时,离线模式是启用的。:)