今天小编给大家分享一下Android开发gradle拉取依赖的加速如何配置的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
前言
镜像配置都是常规操作,必要时也可以上代理.
自己搭的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拉取依赖的加速如何配置”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注恰卡网行业资讯频道。