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

作者:水牛 时间:2023-05-31 03:16:08 

前言

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

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

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

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

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

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

情况1 :

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

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

耗时:18s

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

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

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

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

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

mvnrepository.com/artifact/co…

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

解决方案:

方案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拉取依赖的加速配置

来源:https://juejin.cn/post/7091265454181711880

标签:Android,gradle,拉取依赖,加速
0
投稿

猜你喜欢

  • C#定时关闭窗体实例

    2023-07-09 22:53:25
  • C# 实现简易的串口监视上位机功能附源码下载

    2023-10-12 11:12:19
  • C# WinForm程序完全退出的问题解决

    2023-07-02 07:29:34
  • Java增加自定义注解进行校验入参详解

    2023-01-05 13:34:25
  • C#基础知识系列八const和readonly关键字详细介绍

    2023-06-25 16:39:37
  • linphone-sdk-android版本号生成解析

    2022-10-18 14:43:18
  • c#多线程网络聊天程序代码分享(服务器端和客户端)

    2022-08-10 00:32:48
  • java封装前端查询条件通用版

    2023-06-24 12:06:15
  • JAVA如何按字节截取字符串

    2023-11-25 13:31:41
  • C语言关键字union的定义和使用详解

    2021-09-24 02:40:05
  • java多态的向上转型的概念及实例分析

    2023-06-12 08:30:35
  • VSCode 搭建 Arm 远程调试环境的步骤详解

    2023-06-27 08:54:36
  • 浅谈Java操作符与其优先级

    2022-09-27 19:42:44
  • Java实现动态数字时钟

    2022-05-07 08:56:56
  • c#与WMI使用技巧集第1/2页

    2022-03-16 05:16:01
  • 解决mybatis分页插件PageHelper导致自定义拦截器失效

    2023-10-13 07:24:29
  • C++实现LeetCode(2.两个数字相加)

    2023-06-23 16:51:11
  • JAVA Optional类用法分享

    2022-01-07 02:36:08
  • Java多线程ThreadPoolExecutor详解

    2023-11-23 18:39:32
  • Android studio 运行main 函数的方法

    2023-09-14 15:57:38
  • asp之家 软件编程 m.aspxhome.com