欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新
页面位置 : > > > 内容正文

Android开发gradle拉取依赖的加速配置,

来源: 开发者 投稿于  被查看 48144 次 评论:8

Android开发gradle拉取依赖的加速配置,


目录
  • 前言
  • 情况1 :
  • 情况2:

前言

镜像配置都是常规操作,必要时也可以上代理.

自己搭的nexus本质也是一种镜像,可以代理maven中央仓库.

各个仓库的测速,可以使用这个脚本:

通过测速,调整仓库的顺序

apply from: 'https://raw.githubusercontent.com/hss01248/flipperUtil/master/deps/depsLastestChecker.gradle'

情况1 :

每次点击sync project with gradle files 都去拉取某个pom,且那个pom对应的版本真的不存在

耗时:18s

1.去对应gradle缓存里去看这个库在不在: 确实不在

2 .看com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.46-androidx这个到底在哪个仓库中. 直接先去maven中央仓库搜索:

发现根本就没有这个版本的库.

mvnrepository.com/artifact/co…

解决方案:

方案1: 打印依赖树,看这个版本谁引入的,exclude掉

方案2: 直接强制指定这个库的版本为项目中实际用的版本,就不会去额外请求这个版本的pom. 如下:

 all {
        resolutionStrategy {
            //gradle 刷新加速. 避免每次去刷新com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.46-androidx
            //2.9.46-androidx不存在,所以每次都会去拉取 ; 
            force 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.49-androidx'

情况2:

每次点击sync project with gradle files或者build,都去拉一堆的pom,且这些pom对应的版本在gradle cache里能找到

每次点击sync project with gradle files,都要耗时3-5min,下载一堆已经存在的库(gradle cache里已经有对应的版本)

这时早就配置好了下面的

all{
  resolutionStrategy{
  // cache dynamic versions for 10 minutes
    cacheDynamicVersionsFor 24, 'hours'
    // don't cache changing modules at all
    cacheChangingModulesFor 24, 'hours'
  }
}

发现没有repository里没有配置mavenlocal, 配置一下就好了

类似这里提到的:

以上就是Android开发gradle拉取依赖的加速配置的详细内容,更多关于Android gradle拉取依赖加速的资料请关注3672js教程其它相关文章!

您可能感兴趣的文章:
  • Android Gradle模块依赖替换使用技巧
  • IDEA 下 Gradle 删除多余无用依赖的处理方法
  • idea gradle项目复制依赖小技巧(推荐)
  • Android Gradle依赖管理、去除重复依赖、忽略的方式

用户评论