当前位置: 首页 > 知识库问答 >
问题:

Android build gradle太慢(依赖解析)

冷宏茂
2023-03-14

我已经在Android Studio(我目前的1.5版)工作了2年。一切都很好,但当我下载金丝雀(2.1p5)时,一切都出错了。每次我想创建一个新项目,打开一个项目,同步或导入一个新的库或依赖项,gradle都花了太长的时间来构建--近20分钟。

我没有做任何事情,我只是下载了金丝雀版本并运行它。

症状:

    null

注意:当我断开我的互联网,gradle会尽快完成

我试图通过以下方法解决这个问题:

>

  • 我将gradle更改为脱机工作(它可以工作,但我不想这样,因为我想导入lib或依赖项)
  • 我在C:\users\username\.gradle中创建了一个新文件(文件名为gradle.properties),然后将以下代码行写入其中

    org.gradle.parallel=true
    org.gradle.daemon=true
    

    我删除了该版本,然后安装了我的旧版本,运行正常,但问题仍然存在:(

    禁用/启用防火墙

    禁用/启用防病毒(Nod32)

    重新安装Windows OS(8.1)

    我已经下载了所有版本(1.0.0、...、1.5.1、2.0.0、2.1)

    我用了代理

    系统信息:

    • CPU:Intel Core i5
    • 内存:6.00 GB
    • 操作系统:Windows 8.1 64位

    build.gradle(项目:appname)

    // Top-level build file where you can add configuration options common to all sub-projects/modules.
    
    buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:1.5.0'
    
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }
    
    allprojects {
        repositories {
            jcenter()
        }
    }
    
    task clean(type: Delete) {
        delete rootProject.buildDir
    }
    

    gradle.build(模块:app)

    apply plugin: 'com.android.application'
    
    android {
        compileSdkVersion 23
        buildToolsVersion "23.0.3"
    
        defaultConfig {
            applicationId "com.example.test.myapplication"
            minSdkVersion 14
            targetSdkVersion 23
            versionCode 1
            versionName "1.0"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }
    
    dependencies {
        compile fileTree(include: ['*.jar'], dir: 'libs')
        compile 'com.android.support:appcompat-v7:23.3.0'
    }
    

    建筑后分级报告

    Dependencies                  Duration
    All dependencies              14m3.43s
    :app:_releaseCompile          3m30.96s
    :app:_debugCompile            3m30.73s
    :app:_debugApk                3m30.69s
    :app:_releaseApk              3m30.62s
    :classpath                    0.428s
    :app:_debugAndroidTestCompile 0.001s
    :app:_debugAndroidTestApk     0s
    :app:_debugUnitTestApk        0s
    :app:_debugUnitTestCompile    0s
    :app:_releaseUnitTestApk      0s
    :app:_releaseUnitTestCompile  0s
    :app:releaseWearApp           0s
    :app:wearApp                  0s
    

    安装android studio 2.0稳定版后

    • 7:23:47 PM梯度同步开始====>8:13:21 PM梯度同步完成
  • 共有1个答案

    黄景胜
    2023-03-14

    经过2天的搜索,我得到了解决方案,所以我想和所有可能有同样问题的人分享。问题是gradle无法连接到某些国家的中心存储库。当您创建一个新项目或导入时,您的中心存储库默认为jcenter(),并且每当您想要构建、同步或添加新的外部依赖项时,gradle将连接到https://bintray.com/,但它不能,构建过程将等待连接到jcenter(),因此这个过程可能需要很长时间(+30分钟),即使您不能添加新的依赖项。

    解决方案:

    1. 确保您有最新的稳定版本(当前的2.0.0)
    2. 确保gradle版本在build.gradle(classpath'com.android.tools.build:gradle:2.0.0')
    3. 最后一步也是最重要的一步是将jcenter()更改为mavenCentral()

    因此,您可以轻松添加新的依赖项和同步项目下3Sec!

    buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:2.0.0'
    
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }
    
    allprojects {
        repositories {
            mavenCentral()
        }
    }
    
    task clean(type: Delete) {
        delete rootProject.buildDir
    }
    

    玩得开心

     类似资料:
    • 自从我安装了android studio,它从来没有Eclipse快。每当我开始调试时,在设备上开始调试和运行应用程序通常需要1-2分钟。 问题:我想知道如何解决这个问题(安装windows 64位或安装其他类型的android studion或...) 我的系统配置如下所示: 配备Core i5 cpu的笔记本电脑, Windows 8.1 32位 3GB可用RAM Android Studio

    • 为什么当我将apache commons编解码器和apache commons io依赖项添加到我的项目中时,所有的gradle任务都变得非常慢(超过5分钟)?明确地说,执行构建任务仍然有效,只是需要很长时间。慢时,分级输出为 如果我不包括最后两个类路径依赖项(编解码器和io),buildscript会快得多。我正在通过Gradlew使用Gradle1.10。

    • 我有一个带有API的网站,我用它来获取JSON数据。我有一个类,每次发送请求时都会创建该类的一个实例。创建的实例时,将创建一个新的对象,ed和ed: 然而,我需要在一个循环中发送10个这样的请求。每个请求大约需要1.3秒,而所有10个请求加起来不应超过1-2秒。我发现大部分时间都花在获取输入流和处理它上:

    • 我正在使用weblogic maven插件在服务器上部署我的应用程序。 我不确定我是否在配置上犯了错误。今天的第一个maven构建需要很长时间(大约30分钟),因为插件似乎对完整的weblogic堆栈有大量的依赖,并更新了文件。 我的配置如下所示: 也许我们的Nexus-repo太慢了。;-) 提前感谢

    • 我给ivy添加了一个依赖项(我们称之为a)。在maven central中具有pom文件的xml。Ivy使用ibiblio来解析maven依赖项。添加到常春藤中的依赖项(A)。xml具有可传递依赖项(B)。到目前为止,一切都很好。传递依赖(B)的依赖(C)不能用常春藤来解决。 我在常春藤上定义了一个新的名字。如下所示的xml: 在B的pom文件中,C在编译和测试范围中定义如下: 当我在ivy的缓存