加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

依赖传递

发布时间:2020-12-14 01:37:48 所属栏目:百科 来源:网络整理
导读:依赖类型 类型 描述 示例 项目依赖 依赖其他gradle项目 文件依赖 依赖文件系统中的一系列文件 客户端模块依赖 依赖仓库中的外部类库,具有生命原数据的能力 gradle运行时依赖 依赖gradle api 或者封装的gradle运行时类库 依赖标记 dependencies{ compile "co

依赖类型

类型 描述 示例
项目依赖 依赖其他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'
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读