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

当前回答

更新2022;谷歌删除了“离线工作”选项;

他们增加了“下载依赖关系的外部注释”选项,但当然取消勾选该选项并不能提供同样的速度提升。

回答

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

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

检查“Global Gradle settings”下的“Offline work”

注意:在更新版本的Android studio中,View->Tool Windows->Gradle->在线/离线切换按钮

它将减少90% gradle构建时间。

如果你刚刚在gradle中添加了一个新的依赖项,你将不得不取消离线工作,否则gradle将无法解析依赖项。在完成解决后,您可以检查离线工作,以便更快地构建

其他回答

推荐阅读: 我如何在Gradle构建上每周节省5小时!

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

Gradle守护进程 并行项目执行 按需配置项目 模块很贵……

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

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

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

我也有同样的问题,甚至gradle构建运行了8个小时,我很担心。但后来我改变了编译sdk版本和最小sdk版本在构建。像这样的Gradle文件。

年龄:

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
 }

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

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

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

cmd(管理)

net.exe stop "Windows search"

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