【问题标题】:Gradle dependencies resolving suddenly extremely slowGradle 依赖关系突然变得非常缓慢
【发布时间】:2014-04-28 08:21:29
【问题描述】:

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

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

谁能给我任何提示,这是怎么回事以及如何解决这个问题?

Android Studio:0.4.6 摇篮:1.9

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.+'
                .....
}

【问题讨论】:

  • 我有同样的问题,我的合作开发者也有。我试图升级 gradle,但这不是问题。这里的构建大约需要 22 分钟..

标签: java android gradle android-studio


【解决方案1】:

如果你正在使用带有 gradle 的 Android Studio,暂时这样做

进入 android studio -> 首选项 -> 编译器 -> gradle -> 检查离线模式

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

好吧。

【讨论】:

  • 在 Android Studio 版本 0.5+ 中是此设置的其他方式。设置 -> gradle -> 勾选“离线工作”
【解决方案2】:

我也有同样的问题,我联系了我的提供商,该提供商跟踪到 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.

【讨论】:

【解决方案3】:

对于找不到该设置的新手(Android Studio 1.5.1)
文件 -> 设置 -> 构建、执行、部署 -> 构建工具 -> Gradle
最后一个复选框(离线工作)

非常感谢大家 - 从 10 分钟到 30 秒

【讨论】:

    【解决方案4】:

    经过几个小时的搜索,我发现 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_
    

    【讨论】:

      【解决方案5】:

      我也遇到了同样的问题,找了好久才找到原因。 正如我所注意到的,在offline mode 中,gradle 的构建速度明显更快。

      经过几天的研究,我发现原因是项目设置中的存储库不正确。 在我的情况下是

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

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

      【讨论】:

        【解决方案6】:

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

        【讨论】:

        • 我们有一个私有的 Artifactory 仓库并使用 Gradle 依赖管理。我的密码最近更改了,我需要使用新密码值更新 STS Window>Preferences>General>NetworkConnections>ProxyEntries 首选项。
        【解决方案7】:

        这可能是由于解决 Github maven 依赖项,因为所有其他依赖项都在查看您的存储库这需要时间,您可以通过遵循本机 gralde 支持仅查看您的依赖项来过滤您的存储库,即

        依赖匹配的存储库

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

        例子:

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

        供进一步参考Gradle 5.1.1

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-04-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-05-09
          • 2011-04-25
          相关资源
          最近更新 更多