Gradle依赖性突然变得非常缓慢

时间:2014-03-21 05:17:20

标签: java android gradle android-studio

我正在使用Android Studio和gradle开发Android项目。 直到昨天,gradle build在几秒钟内建立起来相对较快。 从今天开始,每次构建突然变成5分钟。

我在gradle VM上给出了更大的尺寸,但仍然没有希望。

有人能给我任何提示,以及如何解决这个问题吗?

Android Studio:0.4.6 Gradle:1.9

enter image description here

的build.gradle

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.7.3+'
    }
}

apply plugin: 'android'

repositories {
    maven {
        url 'https://github.com/Goddchen/mvn-repo/raw/master/'
    }
    mavenCentral()
}

dependencies {
    compile 'com.android:volley:1.0'
    compile 'com.android.support:support-v13:13.0.+'
                .....
}

7 个答案:

答案 0 :(得分:21)

如果您正在使用带有gradle的Android Studio,那么

转到android studio - >偏好 - >编译器 - > gradle - >检查离线模式

大大改善了我的构建时间。因为,我已经有最新的库缓存它可以工作

好。

答案 1 :(得分:8)

我也有同样的问题,我联系了我的提供商,跟踪跟踪到www.mvnrepository.com(依赖库的存储库),跟踪将在ec2-79-125-0-137.eu-west-1.compute上结束。 amazonaws.com [79.125.0.137]

问题出在amazonaws.com上。这是跟踪路线:

1 < 1 ms < 1 ms < 1 ms private.rionet.cz [172.25.20.1]
2 10 ms 10 ms 9 ms private.rionet.cz [172.28.0.1]
3 11 ms 10 ms 10 ms rio-bb-jsw01-vlan-4050-94-74-192-164.net.rionet.
cz [94.74.192.164]
4 11 ms 10 ms 10 ms sitK9-bb-jsw01-xe-0-1-2-0-188-175-255-85.net.rio
net.cz [188.175.255.85]
5 10 ms 9 ms 10 ms sitK9-bb-jrt01-xe-9-0-0-0-188-175-255-197.net.ri
onet.cz [188.175.255.197]
6 68 ms 10 ms 9 ms prag-b3-link.telia.net [213.248.87.97]
7 15 ms 17 ms 17 ms win-bb2-link.telia.net [213.155.131.68]
8 34 ms 34 ms 34 ms hbg-bb2-link.telia.net [62.115.136.30]
9 92 ms 154 ms 47 ms ldn-bb2-link.telia.net [80.91.247.169]
10 65 ms 64 ms 85 ms dln-b1-link.telia.net [213.155.136.121]
11 70 ms 55 ms 64 ms amazon-ic-300342-dln-b1.c.telia.net [80.239.128.
18]
12 65 ms 64 ms 64 ms 178.236.0.126
13 64 ms 71 ms 64 ms 178.236.0.125
14 66 ms 57 ms 57 ms ec2-79-125-0-137.eu-west-1.compute.amazonaws.com
[79.125.0.137]
15 * * * Vypršel časový limit žádosti.
16 * * * Vypršel časový limit žádosti.
17 * * * Vypršel časový limit žádosti.
18 * * * Vypršel časový limit žádosti.
19 * * * Vypršel časový limit žádosti.
20 * * * Vypršel časový limit žádosti.
21 * * * Vypršel časový limit žádosti.
22 * * * Vypršel časový limit žádosti.
23 * * * Vypršel časový limit žádosti.
24 * * * Vypršel časový limit žádosti.
25 * * * Vypršel časový limit žádosti.

答案 2 :(得分:4)

新手,无法找到该设置(Android studio 1.5.1)
文件 - &gt;设置 - &gt;构建,执行,部署 - &gt;构建工具 - &gt;摇篮
最后一个复选框(离线工作)

并感谢很多人 - 从10分钟到30秒

答案 3 :(得分:2)

经过数小时的搜索后,我发现Android Studio 1.5.1中的代理设置和gradle选项已更改。 有关详细信息,请参阅http://www.laurivan.com/gradlew-and-proxy-authentication/。 将位于C:\ Users \ .gradle \中的gradle.properties(全局属性)更改为以下内容:

# Speedup
org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.configureondemand=true
# Speedup and proxy settings
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError \
-Dfile.encoding=UTF-8 -Dhttp.proxyHost=xxx.xxx.xxx.xxx -Dhttp.proxyPort=pppp \
-Dhttps.proxyHost=xxx.xxx.xxx.xxx -Dhttps.proxyPort=pppp \
-Dhttp.proxyUser=_username_ -Dhttp.proxyPassword=_password_

答案 4 :(得分:2)

我遇到了同样的问题,花了很多时间才找到原因。 正如我注意到的那样,offline mode gradle构建速度要快得多。

经过几天的研究后我发现,原因是项目设置中存储库不正确。 就我而言,它是

http://clinker.47deg.com/nexus/content/groups/public

解决方案是在项目设置中删除不正确的存储库: enter image description here

答案 5 :(得分:1)

我的问题是我的代理设置。由于我的Charles配置,我们的私有maven存储库URL未通过ssl检查。

答案 6 :(得分:0)

这可能是由于解决了Github maven依赖关系,因为所有其他依赖关系都在您的存储库中查找,这需要花费时间,您可以通过遵循本机gralde支持(例如

存储库到依赖项匹配

现在可以将存储库与依赖项进行匹配,这样,如果在存储库中永远都找不到依赖项,那么Gradle就不会在存储库中搜索依赖项。

示例:

repositories {
    maven {
        url "https://repo.mycompany.com"
        content {
           includeGroupByRegex "com\\.mycompany.*"
        }
    }
}

以供进一步参考Gradle 5.1.1