Gradle学习手册

原创 2015年11月19日 19:42:28

gradle特性

传递性依赖

Gradle在依赖配置上面,和Maven一样,支持传递性依赖,然后和Maven不同的是,它还支持排除传递性依赖以及关闭传递性依赖。

compile ('android.support.nb.refreshview:refreshview:0.1@aar'){
        transitive = true
    }

该意为传递性依赖,会将该aar中依赖的其他jar,或者aar引入其中,所以如果该aar是公网aar,切记其对应工程的compile包含的jar和对应的aar必须可以在公网找到,而不是利用

compile project(':framework')

这样的方式,因为如果支持了传递性依赖,会默认去下载framework-unspecial这个对应的aar,即如你想使用该aar,且也需要去传递依赖,该library对应的dependencies需要写为:

compile 'android.support.nb.framework:framework:0.1@aar'

这样传递依赖就会先去下载framework-0.1.aar,再去下载refreshview-0.1.aar;

排除传递性依赖

如果refreshview-0.1.aar里面包含了数个依赖包,例如a.jar,而因为你的其他aar也包含有a.jar,这样就会导致jar包重复,出现:

Error:Execution failed for task ':app:processDebugResources'.
> Error: more than one library with package name 'com.neu.framework'
You can temporarily disable this error with android.enforceUniquePackageName=false
However, this is temporary and will be enforced in 1.0

所以你可以选择排除传递依赖

compile('javax.servlet.jsp.jstl:jstl-api:1.2') {
        exclude(module: 'servlet-api')      // 防止版本冲突
    }
关闭传递性依赖
compile ('android.support.nb.refreshview:refreshview:0.1@aar'){
        transitive = false
    }

注意:默认情况下, 传递性依赖为transitive = false

d

当你在aar中定义了相关组件,同时在app中有相关xml的定义,切记需要开启传递性依赖,如果关闭将会出现对应的组件类不会被找到。

dependencies属性值

compile: compile是对所有的build type以及favlors都会参与编译并且打包到最终的apk文件中。

compile ‘com.github.orhanobut:logger:1.12’

Provided: Provided是对所有的build type以及favlors只在编译时使用,类似eclipse中的external-libs,只参与编译,不打包到最终apk。

provided project(‘:framework’)

APK: 只会打包到apk文件中,而不参与编译,所以不能再代码中直接调用jar中的类或方法,否则在编译时会报错。

Test compile:Test compile 仅仅是针对单元测试代码的编译编译以及最终打包测试apk时有效,而对正常的debug或者release apk包不起作用。

Debug compile:Debug compile 仅仅针对debug模式的编译和最终的debug apk打包。

Release compile:Release compile 仅仅针对Release 模式的编译和最终的Release apk打包。

Gradle构建语言手册

《Gradle构建语言参考手册》                  版本V2.5 原网址:https://docs.gradle.org/current/dsl/index.html 简介:该参考指南...

Android Eclipse 导入 AS Gradle AAR 库手册

这是一篇半技术类文章。众所周知现在Google主推Android Studio开发工具,而Eclipse已经被闲置一阵子了,但是Eclipse项目却还有很多没有迁移到AS中;而现在一些新的库都是采用A...
  • qiujuer
  • qiujuer
  • 2015年12月24日 08:34
  • 4236

Gradle 用户手册

Gradle 用户手册 Gradle User Guide 跳转查看:点击打开链接 Version 1.12 Copyright © 2007-2012 H...
  • yp321
  • yp321
  • 2015年04月23日 13:26
  • 595

gradle 用户手册 第2章 概览

目录: 2.1 特性 2.2 为啥选择Groovy? 2.1 特性 下面是Gradle的一些特性 声明式build和按约定build Gradle的核心部分有一个基于Groovy的富扩展性的领域...
  • kasnfia
  • kasnfia
  • 2017年12月03日 15:46
  • 24

gradle 用户手册 第一章(尝试翻译)

Gradle 用户手册 版权声明: Copyright © 2007-2017 Hans Dockter, Adam Murdoch Copies of this document may be ma...
  • kasnfia
  • kasnfia
  • 2017年11月28日 09:45
  • 12

Gradle使用手册(三):构建任务

原文地址:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Using-sourceCompatibility-1....

gradle用户手册 中文版

  • 2017年11月23日 10:15
  • 902KB
  • 下载

Gradle使用手册

  • 2015年08月06日 12:39
  • 118KB
  • 下载

Gradle使用手册(一):为什么要用Gradle?

原文地址:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Using-sourceCompatibility-1....

gradle 手册

  • 2015年07月30日 20:30
  • 4.42MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Gradle学习手册
举报原因:
原因补充:

(最多只允许输入30个字)