前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >为Gradle设置镜像,解决jcenter依赖无法下载或者下载过慢问题

为Gradle设置镜像,解决jcenter依赖无法下载或者下载过慢问题

作者头像
JarvanMo
发布2018-10-11 16:31:24
5.3K0
发布2018-10-11 16:31:24
举报
文章被收录于专栏:JarvanMo的IT专栏JarvanMo的IT专栏

前言

这其实是一个烂大街的教程了。百度上一堆解决方案,好用的没几个。所以决定温习一下,因为最近写了几个Flutter插件,有很人多表示无法下载Android依赖,于是乎又是访问外国网站又是如何如何。其实gradle依赖是不需要访问外国网站的,不过下载速度很不美妙,加之一些网络状况也不是太好,所以需要使用国内镜像来解决这个问题。当然了,使用国内镜像也可能会有弊端,如更新不及时,但是确实可以解决问题。

简单玩法

简单玩法其实就是直接修改项目根目录的build.gradle就好:

代码语言:javascript
复制
allprojects {
    repositories {
        google()
        jcenter()
       // maven库
       def cn = "http://maven.aliyun.com/nexus/content/groups/public/"
       def abroad = "http://central.maven.org/maven2/"
       // 先从url中下载jar若没有找到,则在artifactUrls中寻找
       maven {
         url cn
         artifactUrls abroad
       }
    }
}

高级玩法

如果每个项目都配置一遍可能略显麻烦,所以我们可以为初gradle写一个初始化脚本。 在~/.gradle/目录下新建一个init.gradle文件(Windows默认是C:\Users\UserName\.gradle),并录入以下内容:

代码语言:javascript
复制
allprojects{
    repositories {
        def ALIYUN_REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public'
        def ALIYUN_JCENTER_URL = 'http://maven.aliyun.com/nexus/content/repositories/jcenter'
        all { ArtifactRepository repo ->
            if(repo instanceof MavenArtifactRepository){
                def url = repo.url.toString()
                if (url.startsWith('https://repo1.maven.org/maven2')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
                    remove repo
                }
                if (url.startsWith('https://jcenter.bintray.com/')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."
                    remove repo
                }
            }
        }
        maven {
            url ALIYUN_REPOSITORY_URL
            url ALIYUN_JCENTER_URL
        }
    }
}

当然了,也可以将这段脚本放在项目根目录下的build.gradle中。 以上,再次build时候就会飞一样。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.10.10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 简单玩法
  • 高级玩法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档