Android Studio通过Artifactory搭建本地仓库优化编译速度的方法

 更新时间:2020年03月20日 10:23:21   作者:笨鸟-先飞  
这篇文章主要介绍了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搭建本地仓库 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Android编程之SurfaceView学习示例详解

    Android编程之SurfaceView学习示例详解

    这篇文章主要介绍了Android编程之SurfaceView学习示例,结合实例分析了SurfaceView的功能、使用方法与注意事项,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • Android Studio配置反混淆的实现

    Android Studio配置反混淆的实现

    这篇文章主要介绍了Android Studio如何混淆的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 解决Android 沉浸式状态栏和华为虚拟按键冲突问题

    解决Android 沉浸式状态栏和华为虚拟按键冲突问题

    对于现在的 App 来说,布局页面基本都会用到沉浸式状态栏,单纯的沉浸式状态栏很容易解决,但是在华为手机上存在一个底部虚拟按键的问题,会导致页面底部和顶部出现很大的问题,下面通过本文给大家分享Android 沉浸式状态栏和华为虚拟按键冲突问题,一起看看吧
    2017-07-07
  • Android实现多点触控功能

    Android实现多点触控功能

    这篇文章主要为大家详细介绍了Android实现多点触控功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Android升级gradle 后引入aar包报错解决

    Android升级gradle 后引入aar包报错解决

    这篇文章主要为大家介绍了Android升级gradle 后引入aar包报错解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • Android实战打飞机游戏之菜单页面设计(1)

    Android实战打飞机游戏之菜单页面设计(1)

    这篇文章主要为大家详细介绍了Android实战打飞机游戏之菜单页面设计,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • Android编程之SharedPreferences文件存储操作实例分析

    Android编程之SharedPreferences文件存储操作实例分析

    这篇文章主要介绍了Android编程之SharedPreferences文件存储操作方法,实例分析了SharedPreferences文件操作的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • Kotlin协程之Flow异常示例处理

    Kotlin协程之Flow异常示例处理

    这篇文章主要为大家介绍了Kotlin协程之Flow异常处理,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Android ListView实现单选及多选等功能示例

    Android ListView实现单选及多选等功能示例

    这篇文章主要介绍了Android ListView实现单选及多选等功能的方法,结合实例形式分析了ListView单选、多选及长按多选等功能相关实现技巧,需要的朋友可以参考下
    2017-08-08
  • Android NDK开发(C语言--联合体与枚举)

    Android NDK开发(C语言--联合体与枚举)

    这篇文章主要介绍了Android NDK开发C语言联合体与枚举,共用体是一种特殊的数据类型,允许您在相同的内存位置存储不同的数据类型。您可以定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值。下面详细介绍该内容,需要的朋友可以参考一下
    2021-12-12

最新评论