依赖管理

Gradle 依赖管理

依赖仓库

repositories {
    mavenCentral()          // 定义仓库为maven中心仓库
}
repositories {
    jcenter()               // 定义仓库为jcenter仓库
}
repositories {
    maven {
        url "http://repo.mycompany.com/maven2"      // 定义依赖包协议是maven,地址是公司的仓库地址
    }
}
repositories {                              // 定义本地仓库目录
    flatDir {
        dirs 'lib'
    }
}
repositories {                              // 定义ivy协议类型的仓库
    ivy {
        url "http://repo.mycompany.com/repo"
    }
}
repositories {
 mavenCentral artifactUrls:["file://C:/maven/.m2/repository/"]
}

如果是系统的默认配置的:

repositories {
  mavenLocal()
}

依赖声明

在 Gradle 3.0 之后,使用了 implementation 与 api 替代了原来的 compile。compile 声明的依赖,使用该方式依赖的库将会参与编译和打包。而 implementation 该依赖方式所依赖的库不会传递,只会在当前 module 中生效。api 该依赖方式会传递所依赖的库,当其他 module 依赖了该 module 时,可以使用该 module 下使用 api 依赖的库。

其他常用的依赖声明还包括:

  • provided(compileOnly): 只在编译时有效,不会参与打包,典型的譬如 lombok 这样的预处理库。

  • testCompile(testImplementation): testCompile 只在单元测试代码的编译以及最终打包测试 apk 时有效。

  • debugCompile(debugImplementation): debugCompile 只在 debug 模式的编译和最终的 debug apk 打包时有效。

  • releaseCompile(releaseImplementation): Release compile 仅仅针对 Release 模式的编译和最终的 Release apk 打包。

上一页
下一页