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拉取依赖加速的资料请关注我们其它相关文章!

时间: 2022-06-20

IDEA 下 Gradle 删除多余无用依赖的处理方法

目录 简介 如何使用 1.引入插件 2.应用插件 3.使用 Gradle 进行重新载入项目 4.生成报告 5. 删除无用依赖 特殊情况 Lombok 总结 简介 项目中经过很久开发,会有很多当初引入后来又不再使用的依赖,靠肉眼很难分辨删除. 这时候,我们可以使用分析无用依赖插件进行处理:gradle-lint-plugin 如何使用 注意: 他可能存在删除错误的引用依赖,需要删除后进行检查和测试 并且,这里仅支持单模块项目,如果是多模块项目请参考官方文档进行处理 官方文档地址: https://

Android Gradle依赖管理、去除重复依赖、忽略的方式

常用依赖 //1.直接依赖第三方开源库,一般是托管在 jitpack 或者 jcenter implementation 'com.google.code.gson:gson:2.2.4' implementation 'com.android.support:cardview-v7:25.0.0' implementation 'com.android.support:design:25.0.0' //2.直接依赖本地的aar文件,一般是在libs目录下 implementation(name

Androd Gradle模块依赖替换使用技巧

目录 背景 解决 步骤1: 步骤2: 步骤3: 背景 我们在多模块项目开发过程中,会遇到这样的场景,工程里依赖了一个自己的或者其他同事的 aar 模块,有时候为了开发调试方便,经常会把 aar 改为本地源码依赖,开发完毕并提交的时候,会再修改回 aar 依赖,这样就会很不方便,开发流程图示如下: 解决 一开始我们通过在 app 的 build.gradle 里的 dependency 判断如果是需要本地依赖的 aar,就替换为 implementation project 依赖,伪代码如下: d

idea gradle项目复制依赖小技巧(推荐)

1 IDEA从pom文件复制依赖到gradle小技巧 如果在gradle工程项目复制pom项目的各种依赖,可以不用考虑一点点粘贴groupId artifactid以及version字段,直接复制整个dependency,idea会自动识别相关 xml转换成gradle依赖形式,具体使用如下所示: > 点击粘贴可以直接看到内容格式发生转换,如下所示: 注意:这里有一个小提醒,复制的pom依赖必须包含version字段,否则也会复制格式转化不生效的问题! 到此这篇关于idea gradle项目复制

jQuery使用经验小技巧(推荐)

在开发过很多 jQuery 插件以后,我慢慢的摸索出了一套开发jQuery插件比较标准的结构和模式.这样我就可以复制并粘贴大部分的代码结构,只要专注最主要的逻辑代码就行了. 使用相同的设计模式和架构也让修复bug或者二次开发更容易.一套经过验证的架构可以保证我的插件不出大的问题,不论插件简单还是复杂.我在这里分享10条我总结的经验. 1. 把你的代码全部放在闭包里面 这是我用的最多的一条.但是有时候在闭包外面的方法会不能调用.不过你的插件的代码只为你自己的插件服务,所以不存在这个问题,你可以把所

Javascript字符串拼接小技巧(推荐)

在Javascript中经常会遇到字符串的问题,但是如果要拼接的字符串过长就比较麻烦了. 如果是在一行的,可读性差不说,如果要换行的,会直接报错. 在此介绍几种Javascript拼接字符串的技巧. 字符串相加(+) var items = '<li class="details">' + '<span>Hello world</span>' + '</li>'; 利用反斜线拼接字符串 var items = '<li class=

利用Node.js获取项目根目录的小技巧

假设我们的js文件写在server目录中,但是我们的资源文件存储在app/img目录中. 实现功能 如下图,我们需要在server/index.js文件中使用fs读取app/img/favicon.ico文件. 实现方法 在node.js只提供了一个 dirname全局变量.通过 dirname可以获得"C:\wwwroot\yidata\server".这时需要用到path. 首先 import path from 'path'; (ES6)或var path = require (

.Net Compact Framework开发小技巧 推荐

1. 获取应用程序当前的路径 复制代码 代码如下: System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase Mobile中的文件系统是以根目录开始的文件系统,只支持绝对路径如访问存储卡根目录下的a.txt文件,则路径为@"\Storage Card\a.txt" . 2. 调用另外一个程序 复制代码 代码如下: Process Start(s

提高域名信任度的8个小技巧[推荐]

也有几个简单可以做到的方法,不妨一试. 1)提供完整的联系方法 包括电话和真正地址. 2)在没有大量好的内容之前,至少也要把网站做到四五十页以上 尽量原创,没有就转载. 3)链接向几个同行业内的权威性网站 不要多,而是精. 4)把域名多注册几年,而不是每年续费 域名的Whois数据和网站上的联系方式吻合,这两点在Google的一个专利申请中曾经提到过. 5)使用独立IP地址(没钱就算了) 绝大部分网站都是在虚拟主机上共用一个IP地址.不过有的人建议,独立IP地址是高质量网站的一个标志,这也很符合

浅谈SpringBoot项目如何让前端开发提高效率(小技巧)

社会分工越来越细,对于工程类研发来说,全栈是越来越少了.这是时代的进步,也是个体的悲哀. 今天要分享的小技巧,或许能够大幅提高你的开发效率.你可以用省下来的时间打个盹,浏览个美女写真什么的. 本篇文章涉及的知识点有 Swagger 为了文档 Nginx 为了效率 众所周知, java 项目的启动速度就像沙子里走路.要是你的前端模块也很大,有一大堆 node_modules , SpringBoot 会毫不犹豫的给你打包进去.每次修改前端页面,都需要打包才能调试,真是等的媳妇都跑了.可惜的是, v

iOS组件依赖避免冲突的小技巧分享

问题缘由 本文以 YBImageBrowser[1] 组件举例. YBImageBrowser 依赖了 SDWebImage,在使用 CocoaPods 集成到项目中时,可能会出现一些依赖冲突的问题,最近社区提了多个 Issues 并且在 Insights -> Traffic -> Popular content 中看到了此类问题很高的关注度,所以不得不着手解决. 严格的版本限制 一个开源组件的迭代过程中,保证上层接口的向下兼容就不错了.为了优化性能并且控制内存,YBImageBrowser

详解IDEA 中使用Maven创建项目常见错误和使用技巧(推荐)

使用idea的运行程序时,出现jar包不存在的错误(pom.xml文件中有依赖,而且代码没有红色的). 解决方法:Maven安装目录下的conf文件下的setting.xml文件中不要加入本地仓库路径设置,直接在idea中设置. tomcat启动maven项目出现jar包不存在的错误.解决方法:在pom.xml文件中加上war maven依赖下载速度太慢.解决方法:在maven安装目录下的conf文件下的setting.xml中,设置阿里云的镜像仓库地址. <mirror> <id>

12个非常实用的JavaScript小技巧【推荐】

这篇文章中将给大家分享12个有关于JavaScript的小技巧.这些小技巧可能在你的实际工作中或许能帮助你解决一些问题. 使用!!操作符转换布尔值 有时候我们需要对一个变量查检其是否存在或者检查值是否有一个有效值,如果存在就返回true值.为了做这样的验证,我们可以使用!!操作符来实现是非常的方便与简单.对于变量可以使用!!variable做检测,只要变量的值为:0.null." ".undefined或者NaN都将返回的是false,反之返回的是true.比如下面的示例: funct

Vue项目中最新用到的一些实用小技巧

写在前面 在最近的 Vue 项目中,为了完成需求使用了一些小技巧,做个笔记,或许也能帮到道友. 阅读重点 需求一:为路径配置别名 在开发过程中,我们经常需要引入各种文件,如图片.CSS.JS等,为了避免写很长的相对路径(../),我们可以为不同的目录配置一个别名. 找到 webpack.base.config.js 中的 resolve 配置项,在其 alias 中增加别名,如下: 创建一个 CSS 文件,随便写点样式: .avatar display: flex; justify-conten