依附治理是Gradle最闪烁的处所,最好的情景是,你仅仅只需添加一行代码在你的build文件,Gradle会主动大年夜长途仓库为你下载相干的jar包,并且包管你可以或许精确应用它们。Gradle甚至可认为你做的更多,包含当你在你的工程里添加了多个雷同的依附,gradle会为你清除掉落雷同的jar包。在这一章我们将进修以下内容:
- 仓库
- 本地依附
- 详解依烂魅章一ㄅ念
当我们评论辩论依附的时刻,我们平日说的是长途仓库,就像那些依附库专门用来供给给其他开辟者应用的依附库。手动治理依附将会为你带来很大年夜麻烦。你必须定位到该依附文件地位,然后下载jar文件,复制该文件到你的项目,然后引用它们。平日这些jar文件还没有具体的版本号,所以你还必须去记忆它们的版本号,如许当须要更新的时刻,你才会知道须要调换成哪个版本。你同时必须将该依附包放在svn或者Git上,如许你的其他同事才可以不消手动去下载这些依附jar。
应用长途仓库可以解决这些问题,一个仓库可以被视为一些文件的集合体。Gradle不会默认为你的项目添加任何仓库。所以你须要把它们添加到repositories办法体内。如不雅是应用的是Android studio,那么对象已经为你预备好了这一切:
Gradle支撑三种不合的仓库,分别是:Maven和Ivy以及文件夹。依附包会在你履行build构建的时刻大年夜这些长途仓库下载,当然Gradle会为你在本地保存缓存,所以一个特定版本的依附包只须要下载一次。
一个依附须要定义三个元素:group,name和version。group意味着创建该library的组织名,平日这会是包名,name是该library的独一标示。version是该library的版本号,我们来看看若何申明依附:
- dependencies {
- compile 'com.google.code.gson:gson:2.3'
- compile 'com.squareup.retrofit:retrofit:1.9.0'
- }
仓库
上述的代码是基于groovy语法的,所以其完全的表述应当是如许的:
- dependencies {
- compile group: 'com.google.code.gson', name: 'gson', version:'2.3'
- compile group: 'com.squareup.retrofit', name: 'retrofit'
- version: '1.9.0'
- }
为你的仓库预定义
为了便利,Gradle会默认预定义三个maven仓库:Jcenter和mavenCentral以及本地maven仓库。你可以同时申明它们:
- repositories {
- mavenCentral()
- jcenter()
- mavenLocal()
- }
Maven和Jcenter仓库是很出名的两大年夜仓库。我们没须要同时应用他们,在这里我建议你们应用jcenter,jcenter是maven中间库的一个分支,如许你可以随便率性去切换这两个仓库。当然jcenter也支撑了https,而maven仓库并没有。
本地maven库是你曾应用过的所有依附包的集合,当然你也可以添加本身的依附包。默认情况下,你可以在你的home文件下找到.m2的文件夹。除了这些仓库外,你还可以应用其他的公有的甚至是私有仓库。
长途仓库
有些组织,创建了一些有意思的插件或者library,他们更愿意把这些放在本身的maven库,而不是maven中间库或jcenter。那么当你须如果要这些仓库的时刻,你只须要在maven办法中参加url地址就好:
- repositories {
- maven {
- url "http://repo.acmecorp.com/maven2"
- }
- }
同样的,Ivy仓库也可以这么做。Apache Ivy在ant世界里是一个很出名的依附治理对象。如不雅你的公司有本身的仓库,如不雅他们须要权限才能拜访,你可以这么编写:
- repositories {
推荐阅读
天然说话处理是研究和实现人与计算机之间用天然说话进行有效通信的各类理论和办法。本文重要介绍深度进修在天然说话处理中的应用。天然说话处理简介天然说话处理是研究和实现人与计算机之>>>详细阅读
本文标题:Gradle for Android 第三篇( 依赖管理 )
地址:http://www.17bianji.com/lsqh/34698.html
1/2 1