在内网使用Gradle构建Android Studio项目

Posted 南极冰川雪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在内网使用Gradle构建Android Studio项目相关的知识,希望对你有一定的参考价值。

android Studio项目中,默认的远程仓库为jcenter,如果在项目引用了一些类库,Gradle构建程序的时候会将这些依赖类库从jcenter网站下载到本地,如我们在 build.gradle使用了以下依赖:

dependencies {
    compile \'de.hdodenhof:circleimageview:2.1.0\'
}

 下载的地址为:https://jcenter.bintray.com/de/hdodenhof/circleimageview/2.1.0/

 本地缓存地址为:C:\\Users\\xxx(用户名)\\.gradle\\caches\\modules-2\\files-2.1\\de.hdodenhof\\circleimageview\\2.1.0

这三个目录依次存放文件circleimageview-2.1.0.pom,circleimageview-2.1.0.aar,circleimageview-2.1.0-sources.jar

如果没有网络或我们设置Gradle为offline模式时,Gradle就会使用这些缓存文件,不再连接jcenter去获取这些依赖包

很多公司的办公网络,考虑到安全,保密等因素,是不允许连接到外网或无法访问到jcenter,那么这时候如何在内网使用Gradle构建Android程序呢?这是个棘手的问题啊,难道让我放弃心爱的butterknife,RxJava...?难道让我复制一堆jar包到libs目录下?

聪明的程序员显然是不会这么做的,研究了一下,发现在内网环境下,我们依然可以很愉快的使用Gradle构建Android项目

此处假设外网电脑A,内网电脑B,如我们需要在项目中使用circleimageview,那么将A中缓存的circleimageview类库复制到B中Android SDK extras目录下对应的目录即可,

即将A中缓存的circleimageview-2.1.0.pom,circleimageview-2.1.0.aar,circleimageview-2.1.0-sources.jar文件复制到B中xxx(android sdk目录)\\extras\\m2repository\\de\\hdodenhof\\circleimageview\\2.1.0目录下

如果我们在项目中使用了butterknife,如下:

dependencies {
    compile \'com.jakewharton:butterknife:8.4.0\'
    annotationProcessor  \'com.jakewharton:butterknife-compiler:8.4.0\'
}

 那么我们在内网中如何使用butterknife呢?由于butterknife项目引用了javapoet,auto-common,auto-service类库,我们也需要把这些类库放到extras目录下

 

 

 

 

 

 

 

以上是关于在内网使用Gradle构建Android Studio项目的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Firebase 和 Snap Creative Kit 作为 Gradle 依赖项包含在内

Android Gradle 插件Gradle 自动化构建 ① ( Gradle 构建工具简介 | Gradle 构建工具用途 )

使用 gradle 构建 android 项目

Android项目Gradle内网配置

使用 gradle 构建 android 项目失败

Android 加速Gradle构建项目