Android构建gradle太慢(依赖解析)

2024-05-21

我使用 Android Studio(我当前的版本 1.5)已经有 2 年了。一切都很好,但是当我下载 Canary (2.1 p5) 时,一切都出了问题。每次我想创建一个新项目或打开一个项目或同步或导入新的库或依赖项时,gradle 的构建时间都太长 -近20分钟.

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

症状 :

  1. 当我连接到互联网时发生了这种情况
  2. 第一个延迟已开启Gradle:解决依赖项“:app:_debugCompile”
  3. ...
  4. 25 分钟后建筑即将完成

Note: 当我断开互联网时,gradle 将尽快完成


我尝试通过这些方式解决这个问题:

  1. 我将 gradle 更改为离线工作(它有效,但我不想要这种方式,因为我想导入库或依赖项)
  2. 我创建了一个新文件(文件名是gradle.properties) in C:\Users\username\.gradle然后将这些行写入其中

    org.gradle.parallel=true
    org.gradle.daemon=true
    
  3. 我删除了该版本,然后安装了旧版本,工作正常,但问题仍然存在:(

  4. 禁用/启用防火墙

  5. 禁用/启用防病毒 (Nod32)

  6. 重新安装 Windows 操作系统 (8.1)

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

  8. 我使用过代理


系统信息:

  • CPU:英特尔酷睿i5
  • 内存:6.00GB
  • 操作系统:Windows 8.1 64 位

build.gradle(项目:应用程序名称)

// 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(模块:应用程序)

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

构建后的 Gradle 报告

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 Gradle 同步开始 ====> 8:13:21 PM Gradle 同步完成

问题已经解决了 !

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

解决方案 :

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

因此您可以在 3 秒内轻松添加新的依赖项并同步项目!

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
}

Have Fun

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android构建gradle太慢(依赖解析) 的相关文章

随机推荐

  • 如何使用 dplyr 管道将额外参数传递给 purrr::map

    我有以下数据框和功能 param df lt data frame x 1 3 0 1 y 3 1 0 2 param df gt x y gt 1 1 1 2 8 gt 2 2 1 1 8 gt 3 3 1 0 8 my function
  • Angular-Chart.js 它不显示图表

    我正在尝试使用 Angular chart js 它没有为我显示任何内容 这是我的 javascript 和 html 页面 function angular module app chart js controller BarCtrl f
  • 在 AzureDevops 中发布测试结果挂起

    我们正在使用发布测试结果任务PublishTestResults 2在 Azure Devops 的管道中发布 junit 类型结果 它以前运行良好 但现在挂起 10 分钟 我认为这是默认的作业超时 然后失败 即使结果已发布 如果我在作业开
  • 约束包如何工作?

    背后的想法数据 约束 Forall http hackage haskell org packages archive constraints 0 3 2 doc html src Data Constraint Forall html据我
  • SQLite.Net-PCL 连接未找到数据库

    我一直在尝试创建一个 Windows Phone 我想使用 SQLite 来存储我的数据并学习如何在 Windows Phone 应用程序上使用它 为此 我使用 SQLite Net PCL 但我不断收到文件未找到异常 这是我写的代码 St
  • UITabBarController 未选择的图标图像色调

    我有一个 UITabBarController 我正在尝试修改 现在 未选择的选项卡图标图像默认为灰色 我知道您无法以编程方式更改这些未选择的图标图像的色调 苹果表示 色调是由 png 文件本身的实际色调控制的 因此 如果您想要白色或绿色图
  • 无法使用 abortBroadcast() 阻止短信?

    我正在开发一个短信拦截器应用程序 其中我使用广播接收器和 abortBroadcast 方法 正如许多人在这里建议的那样 防止消息到达收件箱并提醒用户 但就我而言 当我使用模拟器发送短信时 短信不会被阻止 并到达收件箱 我也会收到错误 06
  • 集群中的spring集成+cron+quartz?

    我有一个由 cron 表达式触发的 spring 集成流程 如下所示
  • pyspark通过特定键加入rdd

    我有两个 rdd 需要将它们连接在一起 它们看起来像下面这样 RDD1 u 2 u 100 2 u 1 u 300 1 u 1 u 200 1 RDD2 u 1 u 2 u 1 u 3 我想要的输出是 u 1 u 2 u 100 2 所以我
  • JavaScript 对象的子对象可以引用自身吗?

    我有一个 JavaScript 对象Team and a Score代表点和一些其他函数 我想知道在将得分存储在团队中的同时将团队存储在得分中是否安全 var Score function team this team team this
  • 空手道 API 测试 - 转义“?”在功能文件的 url 中

    我正在使用pathKarate API 框架中的关键字用于连接字符串以形成 url 但是 我无法通过 这是我正在做的事情 Background url https api cloud abcde com animal Scenario Ve
  • 如何根据多个条件创建列?

    我有一个数据框 我想根据多个条件创建一个列 v1 v2 v3 v4 v5 4 1 2 4 5 5 5 2 4 5 6 21 9 20 30 50 6 4 5 7 9 10 3 6 5 9 基本上 使用以下可能的值创建 v6 Cat dog
  • Spring Autowire Bean具有多个接口实现,在方法中定义实现

    我是 Spring 和 Spring Boot 的新手 所以希望这不是一个愚蠢的问题 我有一个带有多个实现的接口 实现注释为 Component NameOfImpl 我的目标是使用选定的实现自动装配 bean 在正常情况下我可以这样做 A
  • 如果 cpp、gcno 和 gcda 文件不存在于同一文件夹中,GCovr 会生成 0% 覆盖率报告

    我在同一文件夹中有两个文件夹 如下所示 1 src 它包含我的cpp文件 2 linux 我在其中运行 g 并执行 o 文件 现在我正在运行如下命令 cd linux g coverage src example1 cpp o exampl
  • 如何检查 Redshift 用户是否可以更改表

    在 Redshift 中 我正在检查用户的授权 我怎么知道他们是否可以更改表格 我可以知道他们是否可以删除表 因为 只有表的所有者 架构所有者或超级用户可以删除表 https docs aws amazon com redshift lat
  • 从 Solr Admin 删除 solr 文档

    如何使用 SOLR Admin 删除 SOLR 索引中的所有文档 我尝试使用该网址并且它有效 但想知道是否可以使用管理员来完成相同的操作 使用下面的查询之一DocumentSolr 管理 UI 选项卡 XML
  • 对 wsTestService.asmx/jsdebug 的请求在服务器上返回 500 错误,开发中正常

    Folks 我有一个简单的测试应用程序 其中我从 Web 服务返回一个不带参数的字符串 这在我的开发环境 Windows 7 64 位上的 VS 2010 SP1Rel 下运行良好 当我部署到本地 IIS7 时 Web 服务的代理代码不会加
  • TensorFlow HVX 加速支持

    我成功构建并运行了测试应用程序https github com tensorflow tensorflow tree master tensorflow contrib hvx https github com tensorflow ten
  • 从Python手动生成x-gwt-rpc

    我想从 Python 脚本访问 GWT 服务 因此我想手动生成 x gwt rpc 请求 似乎找不到有关 GWT RPC 调用格式的任何信息 因为每个人都是从 Java 执行此操作 因此调用是由框架生成的 在哪里可以找到有关此格式的详细文档
  • Android构建gradle太慢(依赖解析)

    我使用 Android Studio 我当前的版本 1 5 已经有 2 年了 一切都很好 但是当我下载 Canary 2 1 p5 时 一切都出了问题 每次我想创建一个新项目或打开一个项目或同步或导入新的库或依赖项时 gradle 的构建时