依赖传递

来源:互联网 发布:李涛疯狂淘宝 传销 编辑:程序博客网 时间:2024/05/22 13:33

依赖类型

类型描述示例项目依赖依赖其他gradle项目文件依赖依赖文件系统中的一系列文件客户端模块依赖依赖仓库中的外部类库,具有生命原数据的能力gradle运行时依赖依赖gradle api 或者封装的gradle运行时类库

依赖标记

dependencies{    compile "com.android.support:appcompat-v7:${rootProject.ext.supportVersion}"}

依赖检查

$gradle dependencies

动态版本

两种方式:
* 使用latest.integration

dependencies{    compile "com.android.support:appcompat-v7:lastest-integration"}
  • +号
  • dependencies{compile "com.android.support:appcompat-v7:22.0.+"}

文件依赖

compile fileTree(dir: 'libs', include: ['*.jar'])

自定义仓库

repositories {   maven {       name 'releases'       url 'http://mvnrepo.alibaba-inc.com/mvn/releases'   }}

强制置顶版本

configurations.all {    resolutionStrategy {        // 如果想插件和snaphost版本实时生效,请打开注释//        cacheChangingModulesFor(0, 'SECONDS')        //强制设置依赖库的版本,防止间接依赖导致版本号不对        force('com.alibaba:fastjson:1.1.54.android')        for (dependencyName in versionDependencies) {            println(dependencyName + ":" + versions.get(project, dependencyName))            force(dependencyName + ":" + versions.get(project, dependencyName).trim())        }    }}

常用关键字

  • transitive = true 在aar、jar引入是,设置此字段,可以映入相关aar、jar的依赖库。

*exclude : 排除库的某个依赖。不能使用版本号排除特定版本库。

  • awb:(阿里 atlas框架使用的专有库格式。与aar相似。代表一个独立的业务)
compile("com.ali.music:planet-fans:" + versions.get(project, "com.ali.music:planet-fans") + "@awb") {   transitive = true   exclude group: 'com.ali.music', module: 'commonservice'}
0 0
原创粉丝点击