Android Stduio之Gradle build慢+一直卡在Building project info

本文介绍了Android Studio在构建项目时遇到的Gradle build速度慢及卡在Building project info的问题,分析了原因并提供了解决方案,包括使用离线包、修改Gradle版本、切换到阿里云镜像以及处理Gradle sync失败的错误。

参考:

  1. http://blog.csdn.net/xx326664162/article/details/52002616
  2. http://xuanzhui.iteye.com/blog/2335870

问题描述:

Android Studio从GitHub导入别人项目,一直卡在Building gradle project info不动。(一开始我怀疑这大神项目怎么有问题就上传了?然后就各种百度,最后发现还是自己太天真。不是大神有问题,而是祖国的墙比较厚。很多网站被屏蔽了,开发者应该都知道,不知道的话,那么你现在知道了)

原因:
之所以会卡,是因为Android Studio项目中/gradle/wrapper/gradle-wrapper.properties中distributionUrl=https://services.gradle.org/distributions/gradle-2.14.1-all.zip指定的了Gradle的版本(因为你下载项目的Gradle版本可能和你电脑上的不一样,所以Android Studio会去从指定的地方下载Gradle,但是Android Stduio由于墙的问题,导致下载异常缓慢。但是你用迅雷下载这个又很快,估计迅雷服务器服务器因为别人下载而保存了这个文件。)但是就是因为AS(Android Stduio简写,下面都用这种表述方式)下载慢,导致我们连工程都打不开了。

解决办法

我的参考文档1中,有两种解决办法,(离线包下载导入和修改成自己的Gradle),都很不错。

如果你网络环境好,又可以翻墙,你应该遇到上面的问题。但是如果你很不幸的用上了长城宽带,用Lantern翻墙都很慢。而且,你还不得不从通过Gradle下载某些不知名的jar包时,请看下面。

参考文档1中解决了某些问题后,然后你又遇到gradle sync太慢的问题(太慢的原因其实也是在下载东西太慢,国内开发环境真心很狗血)。

网上有解决方法说是要把Gradle设置离线会让速度变快,如下图:
Gradle设置Offline work界面
这样的做法,的确可以提升某些速度。

但是当你一定要从Gradle下载东西怎么办?
可以利用阿里云镜像
你还可以用参考2的方法
这里写图片描述

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        maven{ url 'http://maven.aliyun.com/nexus/content/groups/public'}
//        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.2'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        maven{ url 'http://maven.aliyun.com/nexus/content/groups/public'}
//        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

把jcenter()注释掉,替换成阿里云提供了jcenter镜像,然后你就下载速度非常快了。哈哈

总结

Android Stduio新建一个可运行的HelloWorld程序,找到下面位置,把xxoo替换成HelloWorld对应文件的版本就行了。
比如:
HelloWorld中compileSdkVersion 24,把compileSdkVersion xxoo中的xxoo换成24
修改位置:
1、app/build.gradle
修改

  • compileSdkVersion=xxoo
  • targetSdkVersion=xxoo
  • dependencies{

    compile ‘xxoo’
    }

2、Project/gradle/wrapper/gradle-wrapper.properties
修改

  • distributionUrl=xxoo

3、Project/build.gradle

4、 Project/build.gradle

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.2'
        classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.5.5'
    }
}

注意’com.android.tools.build:gradle:2.2.2’版本号


基本改了上面3个位置,都可以成功。

Gradle问题

  1. Gradle sync failed: Cause: error in opening zip file
    查看这篇博客
    http://blog.csdn.net/bbq17773104216/article/details/65447570
    一开始只有8m,从官网http://services.gradle.org/distributions/ 下载后有60多m,好吧。然后就ok了,还想怎么样呢。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一休日记

csdn打赏扣费20点,这

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值