Gradle仓库配置

Android Studio使用Gradle构建app。Gradle的使用非常灵活,其中可以设置使用多种类型的仓库,来获取应用中使用的库文件。 
支持的类型有如下几种:

类型说明
Maven central repository 这是Maven的中央仓库,无需配置,直接声明就可以使用。但不支持https协议访问
Maven JCenter repository JCenter中央仓库,实际也是是用的maven搭建的,但相比Maven仓库更友好,通过CDN分发,并且支持https访问。
Maven local repository Maven本地的仓库,可以通过本地配置文件进行配置
Maven repository 常规的第三方Maven仓库,可设置访问Url
Ivy repository Ivy仓库,可以是本地仓库,也可以是远程仓库
Flat directory repository 使用本地文件夹作为仓库

 

以下是几种仓库的使用方法:

Maven central repository

在build.gradle中配置

repositories {
    mavenCentral()
}

就可以直接使用了。

Maven JCenter repository

最常用也是Android Studio默认配置:

repositories {
    jcenter()
}

  这时使用jcenter仓库是通过https访问的,如果想切换成http协议访问,需要修改配置:

repositories {
    jcenter {
        url "http://jcenter.bintray.com"
    }
}

Local Maven repository

可以使用Maven本地的仓库。默认情况下,本地仓库位于USER_HOME/.m2/repository(例如windows环境中,在C:\Users\NAME.m2.repository),同时可以通过USER_HOME/.m2/下的settings.xml配置文件修改默认路径位置。 
若使用本地仓库在build.gradle中进行如下配置:
repositories {
    mavenLocal()
}

Maven repositories

第三方的配置也很简单,直接指明url即可:

repositories {
    maven {
        url "http://repo.mycompany.com/maven2"
    }
}

Ivy repository

配置如下:

repositories {
    ivy {
        url "http://repo.mycompany.com/repo"
    }
}

Flat directory repository

使用本地文件夹,这个也比较常用。直接在build.gradle中声明文件夹路径:

repositories {
    flatDir {
        dirs 'lib'
    }
    flatDir {
        dirs 'lib1', 'lib2'
    }
}

使用本地文件夹时,就不支持配置元数据格式的信息了(POM文件)。并且Gradle会优先使用服务器仓库中的库文件:例如同时声明了jcenter和flatDir,当flatDir中的库文件同样在jcenter中存在,gradle会优先使用jcenter的。

 

posted @ 2018-02-03 01:45  javaobject  阅读(1710)  评论(0编辑  收藏  举报