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

当前回答

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

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

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

其他回答

@AndroidDev解决方案很适合我。 我已经在gradle中包含了整个lib。

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

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

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

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

cmd(管理)

net.exe stop "Windows search"

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

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

首先创建一个名为gradle的文件。属性:

/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)

将这一行添加到文件中:

org.gradle.daemon=true

org.gradle.parallel=true

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

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

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

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