Android Studio通过Artifactory搭建本地仓库优化编译速度的方法
Android Studio 编译速度慢,一般来说,原因有下面几个。
- Gradle下载慢
- 依赖库下载慢
- 依赖库使用”+”(使用最新的),每次都需要去查找新的(尽量不适用这种方式)
这里,大部分的库,我们可以通过阿里云代理仓库。 但是,如果有我们自己的私有库或者插件的话。肯定不希望放到阿里云上了。
这个时候,我们就需要建立,我们自己的本地仓库,让私有仓库,依赖阿里云的私有仓库。
依赖关系,如下图
这样,既保证了我们私有库的安全性,又让我们的依赖库也享受到了阿里云代理仓库的便利。
通过Artifactory搭建本地仓库可以参考:架构师教程Artifactory破解步骤。这里就不说明了。
下面,我们主要说明的是本地仓库的配置及在项目中的引用。
一,本地仓库的创建
这里又分为2个部分:
依赖本地的库 比如,Gradle的版本,或者自己写的Gradle插件等等
依赖远程的库 比如,OKHttp,Retrofit等等第三方库
创建虚拟组 这样的话,方便我们的引入。不用每个库都引入进来。
1,创建依赖本地的库
点击左侧的Admin→local,进入Local Repositories。
点击右上角的按钮(New)
选择Maven,然后,填写Repository key,我们就起一个android_local(自己定义就好)。
然后,点击Save & Finish,到这里就创建了一个本地的Maven仓库。
然后,我们在Local Repositories下面就看到了,我们创建的本地库。
下面,我们就要把我们下载好的Gradle,放到这个本地仓库。
点击左侧栏第2个按钮,Artifact Repository Browser
选择,我们的android_local的maven库,点击右侧Deploy,把我们的Gradle的zip上传上去就可以了
如下图
上传完成后,我们在左侧的android_local下面,就看到了这个Gradle的zip包
这里,有个东西需要配置一下。仓库默认上传文件大小是100M,我们需要改大一些,不然,上传会失败。
点击左侧的Amin→General Configuration
。
修改File Upload Max Size (MB)
,这个选项,我们改成400M,点击Save。
如下图,修改完后,再上传我们的Gradle的zip就没有问题了。
到这里,我们建立的本地的仓库就配置完成了
2,依赖远程的库
我们项目除了Gradle以外,开发时会用到很多的第三方库,这个时候,我们还需要配置一个依赖远程的仓库。
根据上面的流程,我们的远程仓库,需要依赖阿里云的代理仓库。这里先创建一个jcenter仓库。
首先,点击左侧的Admin–→Remote
然后,跟本地仓库一样,点击右侧的New按钮
我们填写一个repository key叫aliyun_maven。并填写地址。
填写完成后,点击右下角的Save & Finish。
就创建好了,我们的jcenter仓库。
我们还要创建google的本地仓库,最好再创建一个public的仓库(防止,其他的地方找不到)
创建完成后,我们看下,我们的远程仓库列表
可以看到,我们的3个远程仓库都创建好了。
3,创建虚拟组
上面,我们把Gradle的文件仓库和依赖库依赖的google(),jcenter()仓库,都创建好了。
如果,我们每个都依赖到项目的话,很不方便。首先,需要写很多;其次,就是如果再添加其他仓库的话,我们也需要都次都改动,这个地方。
这里,我们就创建一个虚拟组。这样,我们的项目,只需要依赖一个虚拟组,让虚拟组把上面的仓库都添加进去就可以了。
首先,点击左侧的Admin–→Virtual。
其次,还是点击右上角的New按钮。填写Repository key,把上面的aliyun_jcenter,android_local等等仓库添加进去。
最后,点击Save & Finish
这样,我们的组就创建好了。
最后,看下我们所有创建的仓库。
二,使用本地仓库
上面的本地仓库创建好以后,我们就不用直接依赖google()等仓库了。
修改我们的项目配置。
1, gradle–→wrapper–gradle-wrapper.properties 下的gradle下载地址
#distributionUrl=https://services.gradle.org/distributions/gradle-4.10.1-all.zip
distributionUrl=http://localhost:8081/artifactory/android_local/gradle-4.10.1-all.zip
这里,我们直接依赖我们的本地仓库的地址。
2, 修改项目下的build.gradle
buildscript {
repositories {
// google()
// jcenter()
maven{
url 'http://localhost:8081/artifactory/android_depend/'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.1'
}
}
allprojects {
repositories {
// google()
// jcenter()
maven{
url 'http://localhost:8081/artifactory/android_depend/'
}
}
}
这里,我们看到我们不在直接依赖jcenter(),google()仓库了。而是依赖,我们自己的本地仓库的那个虚拟组。
这样,以后我们有自己的私有库或者插件的话,就保证了安全性。我们本地仓库依赖了阿里云的代理仓库。也不用担心下载不下来的问题了。
到此这篇关于Android Studio通过Artifactory搭建本地仓库优化编译速度的方法的文章就介绍到这了,更多相关Android Studio Artifactory搭建本地仓库 内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!
- TensorFlow从0到1 | 第十五章 重新思考神经网络初始化
- asp.net web api 下载之断点续传
- apache2.4.x三种MPM介绍
- 没有自己的服务器如何学习生物数据分析(上篇)
- 【直播】我的基因组57:最简陋的祖源分析
- asp.net web api 使用Odata
- TensorFlow从0到1丨第十六篇 L2正则化对抗“过拟合”
- TensorFlow从0到1 | 第十七章 Step By Step上手TensorBoard
- C#要点
- MySQL索引背后的数据结构及算法原理
- 生物信息Python从入门到精通
- Entity Framework——建模建库
- asp.net web api 构建api帮助文档
- TensorFlow从0到1 | 第十八章: 升级手记:TensorFlow 1.3.0
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- codeforce 270B Multithreading
- flex-wrap align-content详解
- Code force-CodeCraft-20 (Div. 2) D. Nash Matrix 详解(DFS构造)
- HDU Problem D [ Humble number ]——基础DP丑数序列
- Java开发编程规范: 3.代码格式
- flex-direction
- css中清除浮动方式五
- css中-清除浮动方式四
- forin forof forEach myForEach
- 深拷贝,你懂吗?
- Codeforce-CodeCraft-20 (Div. 2)-C. Primitive Primes(本原多项式+数学推导)
- DOM事件机制(原理级别的)
- 杭电60题--part 1 HDU1003 Max Sum(DP 动态规划)
- js的的的图片随屏幕滚动而滑入滑出的效果(万 万。。。字长文)
- Codeforce-CodeCraft-20 (Div. 2)-B. String Modification (找规律+模拟)