Android开发(《Gradle Recipes for Android》阅读笔记1.5)

与天地兮比寿,与日月兮齐光。这篇文章主要讲述Android开发:《Gradle Recipes for Android》阅读笔记1.5相关的知识,希望能为你提供帮助。
这节讲的是如何如何添加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配置。

Android开发(《Gradle Recipes for Android》阅读笔记1.5)

文章图片

递归依赖
gradle和maven一样可以下载库依赖的其他库,命令行下输入./gradlew androidDependencies可以查看依赖关系
Android开发(《Gradle Recipes for Android》阅读笔记1.5)

文章图片

 
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)】}
 

p.p1 { margin: 0; font: 11px Menlo } span.s1 { font-variant-ligatures: no-common-ligatures }

    推荐阅读