Android Studio项目gradle下载慢问题

这篇具有很好参考价值的文章主要介绍了Android Studio项目gradle下载慢问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、问题起因

通过Android studio新建了一个Android项目,同步gradle居然花费了30多分钟。忍不了,真的忍不了。

二、原因分析

1. 通过观察日志耗时情况

发现耗时主要集中在两方面:gradle下载和gradle依赖下载,如下图所示,gradle下载耗时24分钟,gradle依赖下载耗时7分钟

android studio下载依赖慢,代码问题,android studio,android,gradle,kotlin

PS:源耗时日志没了,上图是小编为了写博客后补的,可真是煎熬的30分钟啊,如此敬业,这你不得点个赞?

2. 查看gradle-wrapper.properties

文件路径gradle/wrapper/gradle-wrapper.properties

  • gradle-wrapper.properties是Gradle Wrapper的配置文件,用于指定Gradle版本。通过配置这个文件,可以确保项目在不同的环境中使用相同版本的Gradle进行构建。
  • Gradle Wrapper的目的是解决不同机器上Gradle版本不一致的问题,通过配置gradle-wrapper.properties文件,项目可以在任何环境下自动下载并使用正确的Gradle版本进行构建。

查看后发现,默认使用的地址为https://services.gradle.org/distributions/gradle-8.2-bin.zip。

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

提示:可能你的gradle版本与小编不同,但并无影响

通过ip查询工具,可发现services.gradle.org域名所在地理位置为美国。呵呵!国外源,慢得理所应当。

3. 查看settings.gradle.kts

文件路径根目录

  • settings.gradle.kts文件是Kotlin DSL格式的settings文件,它用于配置项目的模块结构。在这个文件中,你可以声明项目中包含哪些模块、这些模块之间的依赖关系,以及全局的构建逻辑。
  • 在新版本gradle中,settings.gradle.kts文件还承担了仓库配置的工作,而这也是我们关注的重点

通过Android studio新建的项目,gradle仓库配置默认如下

pluginManagement {
 repositories {
     google()
     mavenCentral()
     gradlePluginPortal()
 }
}
dependencyResolutionManagement {
 repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
 repositories {
     google()
     mavenCentral()
 }
}

rootProject.name = "Demo"
include(":app")

通过ip查询工具,分别查询地理位置,默认源同样均在国外

配置 地址 地址位置
google() https://maven.google.com/ 美国
mavenCentral() https://repo1.maven.org/maven2/ 瑞典
gradlePluginPortal() https://plugins.gradle.org/m2/ 美国

行吧,国外源,网络情况不理想,下载速度相对较慢,慢得有理有据。

三、解决方式

对于上述问题,常见的解决方式无非走VPN代理或通过国内镜像源加速,由于合规的VPN代理需要申请,本文主要讲解通过国内镜像源加速的方式。有合规VPN代理的观众老爷们可以撤了。

1. gradle下载慢解决方案

常见的解决方案包括:使用gradle离线下载通过gradle国内镜像源加速

个人觉得,gradle离线下载相对麻烦,不展开讲解。感兴趣的同学可自行百度gradle离线下载

对比gradle离线下载通过gradle国内镜像源相对方便些,国内知名的gradle镜像源,包含阿里云和腾讯云

  • 阿里云gradle镜像源:https://mirrors.aliyun.com/gradle
  • 腾讯云gradle镜像源:https://mirrors.cloud.tencent.com/gradle/

可惜的是,阿里云gradle镜像源截至2019年就不再更新,gradle版本也停留在了gradle-5.6.2,若你使用的是gradle-5.6.2以上版本,更推荐你使用腾讯云gradle镜像源,使用方式如下:

替换https\://services.gradle.org/distributionshttps\://mirrors.cloud.tencent.com/gradle

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

2. gradle依赖下载慢解决方案

为加速gradle依赖下载,我们可以通过国内镜像源加速,这里强烈安利 阿里云镜像源

源库 阿里云的镜像地址
google() https://maven.aliyun.com/repository/google
mavenCentral() https://maven.aliyun.com/repository/central
gradlePluginPortal() https://maven.aliyun.com/repository/gradle-plugin

提示:上面仅列出我们使用到的镜像源,全量镜像源请见附录1:阿里云全量镜像源。

使用方式如下:

修改settings.gradle.kts,将对应阿里云镜像仓库添加到google()mavenCentral()上方,优先从国内源下载,如果没有再去原网站下。

pluginManagement {
    repositories {
        // 使用阿里镜像源
        maven(url = "https://maven.aliyun.com/repository/google")
        maven(url = "https://maven.aliyun.com/repository/central")
        maven(url = "https://maven.aliyun.com/repository/gradle-plugin")
        google()
        mavenCentral()
        gradlePluginPortal()
    }
}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        // 使用阿里镜像源
        maven(url = "https://maven.aliyun.com/repository/google")
        maven(url = "https://maven.aliyun.com/repository/central")
        google()
        mavenCentral()
    }
}

rootProject.name = "Demo"
include(":app")

建议:请不要随意改变仓库位置。各个仓库的列出顺序决定了 Gradle 在这些仓库中搜索各个项目依赖项的顺序。例如,如果从仓库 A 和 B 均可获得某个依赖项,而您先列出了仓库 A,则 Gradle 会从仓库 A 下载该依赖项。

提示:若你使用的groovy,非kotlin,请转附录2:gradle依赖下载加速-groovy版

四、总结(省流版)

1. gradle下载慢解决方案

替换https\://services.gradle.org/distributionshttps\://mirrors.cloud.tencent.com/gradle

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

2. gradle依赖下载慢解决方案

修改settings.gradle.kts,将对应阿里云镜像仓库添加到google()mavenCentral()上方,优先从国内源下载,如果没有再去原网站下。

pluginManagement {
 repositories {
     // 使用阿里镜像源
     maven(url = "https://maven.aliyun.com/repository/google")
     maven(url = "https://maven.aliyun.com/repository/central")
     maven(url = "https://maven.aliyun.com/repository/gradle-plugin")
     google()
     mavenCentral()
     gradlePluginPortal()
 }
}
dependencyResolutionManagement {
 repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
 repositories {
     // 使用阿里镜像源
     maven(url = "https://maven.aliyun.com/repository/google")
     maven(url = "https://maven.aliyun.com/repository/central")
     google()
     mavenCentral()
 }
}

rootProject.name = "Demo"
include(":app")

建议:请不要随意改变仓库位置。各个仓库的列出顺序决定了 Gradle 在这些仓库中搜索各个项目依赖项的顺序。例如,如果从仓库 A 和 B 均可获得某个依赖项,而您先列出了仓库 A,则 Gradle 会从仓库 A 下载该依赖项。

提示:若你使用的groovy,非kotlin,请转附录2:gradle依赖下载加速-groovy版

附录

附录1:阿里云全量镜像源

阿里云常见镜像库:https://developer.aliyun.com/mvn/guide

仓库名称 阿里云仓库地址 阿里云仓库地址(老版) 源地址
central https://maven.aliyun.com/repository/central https://maven.aliyun.com/nexus/content/repositories/central https://repo1.maven.org/maven2/
jcenter https://maven.aliyun.com/repository/public https://maven.aliyun.com/nexus/content/repositories/jcenter http://jcenter.bintray.com/
public https://maven.aliyun.com/repository/public https://maven.aliyun.com/nexus/content/groups/public central仓和jcenter仓的聚合仓
google https://maven.aliyun.com/repository/google https://maven.aliyun.com/nexus/content/repositories/google https://maven.google.com/
gradle-plugin https://maven.aliyun.com/repository/gradle-plugin https://maven.aliyun.com/nexus/content/repositories/gradle-plugin https://plugins.gradle.org/m2/
spring https://maven.aliyun.com/repository/spring https://maven.aliyun.com/nexus/content/repositories/spring http://repo.spring.io/libs-milestone/
spring-plugin https://maven.aliyun.com/repository/spring-plugin https://maven.aliyun.com/nexus/content/repositories/spring-plugin http://repo.spring.io/plugins-release/
grails-core https://maven.aliyun.com/repository/grails-core https://maven.aliyun.com/nexus/content/repositories/grails-core https://repo.grails.org/grails/core
apache snapshots https://maven.aliyun.com/repository/apache-snapshots https://maven.aliyun.com/nexus/content/repositories/apache-snapshots https://repository.apache.org/snapshots/

提示:由于阿里云官网更新,大家查到的数据可能比上面少。大部分库未在常见镜像库中展示,如google()库,全量仓库请通过https://developer.aliyun.com/mvn/view查看

附录2:gradle依赖下载加速-groovy版

修改settings.gradle,将对应阿里云镜像仓库添加到google()mavenCentral()上方,优先从国内源下载,如果没有再去原网站下。

pluginManagement {
    repositories {
        // 使用阿里镜像源
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/central' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
        google()
        mavenCentral()
        gradlePluginPortal()
    }
}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        // 使用阿里镜像源
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/central' }
        google()
        mavenCentral()
    }
}

rootProject.name = "Demo"
include ':app'

建议:请不要随意改变仓库位置。各个仓库的列出顺序决定了 Gradle 在这些仓库中搜索各个项目依赖项的顺序。例如,如果从仓库 A 和 B 均可获得某个依赖项,而您先列出了仓库 A,则 Gradle 会从仓库 A 下载该依赖项。

参考文档

添加 build 依赖项 | Android Studio | Android Developers (google.cn)

阿里云仓库服务 (aliyun.com)

阿里巴巴开源镜像站

Android Studio 配置国内镜像源、HTTP代理文章来源地址https://www.toymoban.com/news/detail-844210.html

到了这里,关于Android Studio项目gradle下载慢问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android Studio导入项目一直在下载gradle

    AS最常见的问题之一就是下载gradle非常慢,还经常出现下载失败的情况,没有gradle就无法build项目,所以一定要先解决gradle的下载问题,下面教大家两种常用方法。 因为我的项目绝大多数使用的是 gradle-5.6.4-all ,下面就以 gradle-5.6.4-all 为例教大家如何解决gradle问题。 1、先停止

    2024年02月11日
    浏览(61)
  • 解决Android Studio下载gradle超时问题

      下载地址:https://mirrors.cloud.tencent.com/gradle/  

    2024年01月21日
    浏览(65)
  • Android Studio导入项目一直显示正在下载Gradle项目

    如题,问题图类似如下: (此图是解决以后截的,之前遇到问题没截图) 先找到你正在下载的gradle的版本是哪个 然后在链接中 ​​​​​​Gradle Distributions 找到你所对于gradle的版本,下载 对应后缀为bin的文件 例如我的版本是8.0,下载的就是这个文件 然后在电脑找到对应位

    2024年02月03日
    浏览(51)
  • 记录解决Android Studio下载gradle超时问题

    大三学生,2023年3月19号晚,首次下载Android Studio2022版本并新建项目,发现在下载gradle总是连接超时,舍友则没有这个问题,用的是同一个安装包。 查阅文献太多,忘记都有哪些了,就不列出来了,都是公开的。 总结:连接不上外网的谷歌导致网络超时,通过其他方法下载好

    2024年02月05日
    浏览(100)
  • Android Studio导入项目 下载gradle很慢或连接超时

    AS最常见的问题之一就是下载gradle非常慢,还经常出现下载失败的情况,没有gradle就无法build项目,所以一定要先解决gradle的下载问题,下面教大家两种常用方法。 因为我的项目绝大多数使用的是 gradle-5.6.4-all ,下面就以 gradle-5.6.4-all 为例教大家如何解决gradle问题。 1、先停止

    2024年02月04日
    浏览(75)
  • 解决:Android Studio下载gradle速度慢的问题

    配置对所有项目起效的项目环境 查看 .gradle 所在位置 :打开 Android Studio - File - setting  文件夹中打开 Gradle user home 显示的路径,在 .gradle 文件夹中创建 init.gradle 文件,在 init.gradle 文件中输入以下配置内容 重启Android Studio即可

    2024年02月04日
    浏览(52)
  • Android studio gradle 一直提示下载,下载还下载不到超时,问题解决

    一般正常使用时gradle不会有重新加载的问题,但有时候会突然打你个措手不及。 文件从服务手动下载后放到.gradle文件夹中也是不行的,因为gradle的更新流程是必须下载完成了才会去解压,再去加载。如果你下载这一步一直不通过的话,AS是一直不去加载文件的,即使你已经下

    2024年04月11日
    浏览(55)
  • Android Studio新建项目下载依赖慢,只需一个操作解决

    新建的安卓工程,下载依赖贼慢怎么办?水一篇吧。 首先新建工程,建好以后项目就自动开始下载了,底部开始出现进度条,但是进度条一直不怎么动,网速也就十几k,要是等他下载得下一天。 直入主题, 1、新建项目:输入名字选择位置这都是自己定的,选择安卓版本也

    2024年02月21日
    浏览(54)
  • APP安卓开发之Android Studio从安装到创建项目(一键解决gradle下载缓慢以及写代码没提示问题,包含如何创建手机模拟器)教程

    选择NEXT 选择NEXT 选择要安装的地址,然后选择NEXT 选择Install 先启动刚安装好的Android Studio 选择Do not import settings,然后选择OK 选择Cancel 先选择D\\\'ont send,然后选择NEXT 这里选择Custom,然后NEXT 选择Android Studio自带JDK的安装位置,然后NEXT 选择一个自己喜欢的主题颜色,然后NEXT 选

    2024年04月29日
    浏览(72)
  • 新版android studio gradle插件7.4.2.pom一直无法下载问题

    android studio同步时候出现org.gradle.api.plugins.UnknownPluginException,Plugin [id: \\\'com.android.application\\\', version: \\\'7.4.2\\\'] was not found in any of the following sources: pom插件一直无法下载,搞了好几天,简直想砸电脑,今天烦躁,乱搞了一通,结果好像可以了。 是android studio代理问题:         默

    2024年02月01日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包