这节讲的是如何如何添加JAVA依赖库。

默认的android项目有两个build.gradle文件,分别位于顶级目录,和应用自己的目录下(通常放在一个叫app的目录下面)。

gradle支持多种方式列举依赖库,最常用的方式是用引号包括,冒号分割group,name,version的方式。(gradle是使用Groovy的,所以支持单双引号字符串,后面章节会详细讲)

每个依赖都会和某个配置关联。android项目包括compile,runtime,testCompile和testRuntime配置。插件可以增加额外配置,并且你可以自定义。

语法

完整语法你可以明确的定义group,name,version,如 testCompile group:'junit',name:'junit',version:'4.12'

简略语法,和完整的是一样的,如 testCompile 'junit:junit:4.12'

还有种合法但是不推荐的写法,在版本后面加上'+',如 testCompile 'junit:junit:4.+',告诉gradle需要4.0及以上版本。当它运行的时候,会不明确导致不可服用。明确的版本号可以帮助你避免以后版本中的一些API的改动的影响。

如果想添加一组文件到配置,不通过将他们添加到仓库,你可以在dependencies模块下使用files或者fileTree语法。例如:

dependencies{

compile files('libs/a.jar','libs/b.jar')

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

}

同步项目

当gradle的配置文件修改时。android studio会提示同步(sync now),如果没有及时同步,也可以通过菜单栏的按钮同步更新gradle配置。

递归依赖

gradle和maven一样可以下载库依赖的其他库,命令行下输入./gradlew androidDependencies可以查看依赖关系

gradle默认传递依赖,如果想对一个库关闭依赖,可以通过transitive标志,如

dependencies {

runtime group: 'com.squareup.retrofit2', name: 'retrofit', version: '2.0.1',transitive: false

}

如果只想要引入一个模块的jar,也可以特殊指出,如:

dependencies {
compile 'org.codehaus.groovy:groovy-all:2.4.4@jar'
compile group: 'org.codehaus.groovy', name: 'groovy-all',version: '2.4.4', ext: 'jar'
}

上面是简略写法,下面是完整语法。简略中使用@增加一些额外值。

也可以排除引入的库下面的一些递归依赖,如:

dependencies {
androidTestCompile('org.spockframework:spock-core:1.0-groovy-2.4') {
    exclude group: 'org.codehaus.groovy'
    exclude group: 'junit'
}
}

}

 

Android开发:《Gradle Recipes for Android》阅读笔记1.5的更多相关文章

  1. Android开发工具全面转向Android Studio(3)——AS project/module的目录结构(与Eclipse对比)

    如果AS完全还没摸懂的,建议先看下Android开发工具全面转向Android Studio(2)——AS project/module的CRUD. 注:以下以Windows平台为标准,AS以目前最新 ...

  2. Android开发工具全面转向Android Studio(2)——AS project/module的CRUD

    本文有些地方可能需要衔接Android开发工具全面转向Android Studio(1)——准备开发环境,读起来效果会更好. 这个世界很奇妙,所有的东西离不开CRUD,即增删改查.即使人本身也遵循这个 ...

  3. 配置cordova的android开发环境(无android studio)

    原文:配置cordova的android开发环境(无android studio) 趁元旦放假想试一下cordova,不想安装庞大的android studio,所以想最小化安装,居然花了一整天的时间 ...

  4. 收集整理Android开发所需的Android SDK、开发中用到的工具、Android开发教程、Android设计规范,免费的设计素材等。

    AndroidDevTools Android Dev Tools官网地址:www.androiddevtools.cn 收集整理Android开发所需的Android SDK.开发中用到的工具.An ...

  5. Eclipse搭建Android开发环境并运行Android项目

    Eclipse搭建Android开发环境并运行Android项目 (详细) 安装环境: window 10 64位 安装工具: JDK.Eclipse.SDK.ADT 安装步骤: 1.JAVA JDK ...

  6. Android开发:《Gradle Recipes for Android》阅读笔记(翻译)6.2——DSL文档

    问题: 你需要查找Android Gradle DSL的完整文档. 解决方案: 访问Gradle Tools网站,从Android开发网站下载ZIP文件. 讨论:Android开发网站首页有完整的AP ...

  7. Android开发:《Gradle Recipes for Android》阅读笔记(翻译)5.1——单元测试

    问题: 你想要测试app中的非android部分. 解决方案: 可以使用Android Studio1.1里面增加的单元测支持和Android的Gradle插件. 讨论: ADT插件只支持集成测试,并 ...

  8. Android开发:《Gradle Recipes for Android》阅读笔记(翻译)2.3——用Eclipse ADT导出App

    问题: 想在一个已经存在的Eclipse ADT的项目中使用Gradle 解决方案: Eclipse ADT插件可以帮助生成Gradle文件 讨论: Eclipse的ADT插件是在2013年推出Gra ...

  9. Android开发:《Gradle Recipes for Android》阅读笔记1.2

    在android开发中会需要配置使用app的android SDK的最低版本和目标版本,这个是bulidl.gradle的android模块设置.默认有以下几个设置: applicationId,这个 ...

  10. Android开发:《Gradle Recipes for Android》阅读笔记(翻译)4.5——使用Android Libraries

    问题: 你想要在app当中增加新的library模块 解决方案: 使用library插件,增加一个library模块作为依赖. 讨论: 不可以通过使用java库给app增加许多功能,通常是使用jar包 ...

随机推荐

  1. Implementing DDD Reading - Strategic Design

    1. 概念篇 1.1 领域 广义上讲,领域即是一个组织所做的事情以及其中所包含的一切,也是组织的业务范围以及在其中所进行的活动.软件所讨论的领域即是这个组织的领域,应该是清晰明确的.不同的层面或粒度, ...

  2. springmv日志debug异常,javax.naming.NameNotFoundException

    解决方案: 在web.xml配置如下代码即可: <context-param> <param-name>spring.profiles.active</param-nam ...

  3. Selenium webdriver Java 操作chrome 浏览器

    Step1: 下载chromedriver. 下载路径: http://chromedriver.storage.googleapis.com/index.html 选择一个合适的下载即可.我下载的是 ...

  4. iOS开发-为我们的项目添加头文件prefix header

    在XCode6新建项目时,不再自动创建头文件,因此我们需要手动添加. 点击我们的项目->Build Settings -> all -> 搜索“prefix” -> 修改pre ...

  5. 【MyBatis学习08】高级映射之一对一查询

    从这一篇博文开始,将总结一下mybatis中的几个高级映射,即一对一.一对多.多对多查询,这篇先总结一下mybatis中的一对一查询.  为了模拟这些需求,事先要建立几个表,不同的表之间将对应上面提到 ...

  6. web本地存储localStorage和sessionStorage

    用谷歌浏览器调试网页程序时候发现有一个这个栏目 记录本地存储的相关信息(cookie,sessionStorage,LocalStorage等)的存储信息 1.LocalStorage localst ...

  7. .NET 环境中使用RabbitMQ RabbitMQ与Redis队列对比 RabbitMQ入门与使用篇

    .NET 环境中使用RabbitMQ   在企业应用系统领域,会面对不同系统之间的通信.集成与整合,尤其当面临异构系统时,这种分布式的调用与通信变得越发重要.其次,系统中一般会有很多对实时性要求不高的 ...

  8. 《C#程序设计教程 -李春保》阅读笔记

    <C#程序设计教程 -李春保>阅读笔记   ( 需注意程度:红>粗体>下划线,蓝色:我的疑问 )   老师的引言 [师]对待一种新语言的关注点 数据类型定义(python不用定 ...

  9. SpringCloud系列十一:自定义Feign

    1. 回顾 上文我们讲解了如何为服务消费者配置Feign. 在Spring Cloud中,Feign的默认配置类是FeignClientsConfiguration,该类定义了Feign默认使用的编码 ...

  10. Windows 8 64bit Xilinx ISE(14.7) Fix License

    http://www.youtube.com/watch?v=ttPbEcNjdo8 It can work successfully!