1.7 配置仓库

2016-12-27  本文已影响0人  GuoYiheng

1.1 Android工程中的Gradle文件有提到,在项目(project)build.gradle文件里:

allprojects代码块里表明项目(project)及其模块(module)都默认使用jcenter()来解析任何Java依赖库.

也就是说这部分代码的功能是完成对依赖仓库的配置.通常情况下,我们采用jcenter()或者mavenCentral()来完成配置,前者是Bintray JCenter 仓库,由bintray.com维护,后者为Maven Central仓库,由sonatype.org维护.在早期版本的Android Studio中,默认采用的是mavenCentral(),目前已改为使用jcenter().

配置Jcenter

当我们创建一个新项目时,Android Studio会在项目(Project)build.gradle文件里自动为我们配置好jcenter(),我们直接在模块(Module)build.gradle添加自己需要的依赖即可.

allprojects {
    repositories {
        jcenter()
    }
}

配置Maven

如果想采用mavenCentral仓库,按照如下配置即可:

allprojects {
    repositories {
        mavenLocal()
        mavenCentral()
    }
}

第一句指向本地的Maven缓存,第二句则指向公共Maven中心仓库.
除了上面这种快捷配置方法外,也可以通过指定URL来添加maven仓库,对于没有放在Maven Central的依赖库(library)我们只能采用这种配置方法,比如要想使用Twitter的Fabric.io,我们就得按照如下配置:

repositories {
    maven { 
        url 'https://maven.fabric.io/public' 
    }
}

添加依赖时和添加来自Jcenter的依赖库一样:

dependencies {
    compile 'com.crashlytics.sdk.android:crashlytics:2.2.4@aar'
}

如果要使用的maven仓库是需要账号密码的,那就需要另外添加一个credentials代码块来进行认证:

repositories {
    maven {
        credentials {
            username 'USERNAME'
            password 'PASSWORD'
        }
        url 'YOUR URL'
    }
}

USERNAMEPASSWORD对应的位置写上你的用户名和密码即可,不过最佳的做法是把用户名和密码写在gradle.properties文件里,这一点具体在下一篇再说.

配置Ivy

Ivy仓库的配置方法与前面通过URL配置maven仓库方法如出一辙:

repositories {
    ivy {
       url 'YOUR URL'
    }
}

配置本地文件作为仓库

之前在1.5 通过代码添加依赖 里有讲到添加本地文件作为依赖,是在模块(Module)build.gradle文件的dependencies代码块里通过files或者fileTree语句来添加.其实也可以通过把本地文件看做一个仓库来添加:

repositories {
    flatDir {
      dirs 'lib'
    }
}

当我们配置了多个仓库时,Gradle会按照从上到下的顺序依次搜索每个仓库,直到我们添加的依赖全部解析完成.

上一篇下一篇

猜你喜欢

热点阅读