Android开发gradle拉取依赖的加速配置
作者:水牛 发布时间:2023-05-31 03:16:08
标签: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, 配置一下就好了
类似这里提到的:
来源:https://juejin.cn/post/7091265454181711880


猜你喜欢
- 目前的应用市场上,使用毛玻璃效果的APP随处可见,比如用过微信语音聊天的人可以发现,语音聊天页面就使用了高斯模糊效果。先看下效果图:&nbs
- Android 自定义按钮点击事件和长按事件对比一个按钮同时实现点击和长按事件,有时候会有冲突,我们针对这一现象来自定义按钮来区
- 一、问题描述在接受 mq 消息的时候,需要做一个重试次数限制,如果超过 maxNum 就发邮件告警,不再重试。 所以我需
- 本文实例为大家分享了java * 实现在线人数统计的具体代码,供大家参考,具体内容如下1.在工程中创建监听类SessionListener
- 前言Android通过设置Alpha值图片淡化、透明度大家应该都知道,下面是段简单的示例代码:View v = findViewById(R
- 开始 在本文中,我将展示如何使用各种不同的 Java 技术构建一些简单的 Comet 风格的 Web 应
- 提到锁,大家肯定想到的是sychronized关键字。是用它可以解决一切并发问题,但是,对于系统吞吐量要求更高的话,我们这提供几个小技巧。帮
- 最近项目中有截屏的需求,普通的view截屏方法网上一搜一大把,但是SurfaceView截屏黑屏问题很多文章说的并不清楚,自己参考了一些别的
- 程序是这样的:static void Main(string[] args){ SmtpClient c
- 一、RabbitMQ介绍RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发
- Stream流多字段求和、汇聚实现方法利用Collectors.toMap(Function keyMapper, Function val
- Spring Boot+Socket实现与html页面的长连接,客户端给服务器端发消息,服务器给客户端轮询发送消息,附案例源码功能介绍客户端
- 类和类有关联,将查询的结果注入到对象和对象的关联关系中Mybatis处理的关联关系 包括一对一关联 和 一对多关联 ,例如学生关联班级是一对
- 一、序言在日常一线开发过程中,总有列表转树的需求,几乎是项目的标配,比方说做多级菜单、多级目录、多级分类等,有没有一种通用且跨项目的解决方式
- 首先,需要一个电话号码,目前很多账户都是将账户名设置成手机号,然后点击按钮获取手机验证码。 其次,你需要后台给你手机短信的验证接口,各个公司
- 本文实例讲述了C#后台创建控件并获取值的方法。分享给大家供大家参考。具体实现方法如下:前台代码:<form id="form
- using (TransactionScope tr = new TransactionScope()) {  
- 前言AndroidStudio升级到3.0之后,gradle版本也随之升级到了3.0.0版本。当gradle插件升级到3.0.0及以上后,我
- 三种定义数组的格式如下:int[] arr1=new int[10];int[] arr2={1,2,3,6};int[] arr3=new
- 前言Java8 由Oracle在2014年发布,是继Java5之后最具革命性的版本。Java8吸收其他语言的精髓带来了函数式编程,lambd