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搭建本地仓库 内容请搜索自学编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持自学编程网!
- 本文固定链接: https://zxbcw.cn/post/183150/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)