文章摘要
1、 三种依赖类型
2、库依赖关系配置
3、远程仓库
4、查看依赖关系树
英文文献
Android Studio中的摇篮构建系统可以很容易地包括外部的二进制文件或其他库模块到您的构建与依赖。该依赖性可以位于您的计算机上或远程仓库中,他们宣布任何传递依赖将自动包括在内。
要添加一个依赖于你的项目,指定诸如依赖配置compile在dependencies您的块build.gradle文件。
例如,下面build.gradle为应用模块文件包括三种不同类型的依赖关系:
每个这些要求不同类型的依赖关系如下:
此声明一有依赖性 的Android库模块 名为“在MyLibrary”(此名称必须定义为库名称相匹配include你的 settings.gradle 文件)。它需要构建系统编译库模块与应用模块,并在您的APK所产生的AAR文件。
由于Gradle读取相对路径的build.gradle 文件,这告诉构建系统添加您的项目内的所有JAR文件 module_name/libs/的目录的依赖。
或者,您可以指定单独的文件如下:
这实际上是以下简写:
这宣告了“应用程序魔”库的12.3版本的依赖,在“code.example.android”命名空间组内。
内侧dependencies块,可以声明使用几种不同的一个库依赖依赖关系配置(诸如compile上面示出)。每个相关配置提供了摇篮有关如何使用图书馆不同的指令。下面的列表描述了每个可使用在你的Android项目库依赖的配置。
以上配置适用于项目的主要来源集,它适用于所有的构建变种。
如果你不是想声明的依赖只有特定的 构建变量 源设置或更改一个 测试源设置 ,你必须利用配置名称以及与构建变量或测试源集的名称前缀它。
例如,在添加compile
依赖关系只为您的“免费”产品的风味(使用远程二进制依赖),它看起来像这样:
但是,如果你想添加一个依赖于结合了产品的风味变体和构建类型,那么你必须初始化的配置名称configurations块。下面的示例增加了一个apk依赖于你的“freeDebug”打造变种(使用本地二进制依赖):
要添加compile为本地测试和仪表测试的依赖性,它看起来像这样:
如果你的 库模块提供了多个变种 ,你可以添加不同的库变体像这样不同的应用程序变量:
当你的依赖比当地的图书馆或文件树以外的东西,摇篮会在哪个在线存储库中指定的文件 repositories的块build.gradle文件。
默认情况下,新的Android Studio项目申报JCenter作为该项目的顶级存储库位置build.gradle的文件,如下图所示:
如果你想从Maven的中央仓库的东西,然后再添加 mavenCentral(),或本地存储库使用mavenLocal():
参考配置:
有些直接依赖可能有自己的依赖。这些被称为 传递依赖 。而不是要求您手动声明每个传递依赖,摇篮自动收集,并增加了它们。为了形象化两个项目的直接和传递依赖,对于摇篮的Android插件提供了生成依赖关系树为每个摇篮任务 构建变量 和 测试源集合 。
要生成此报告,步骤如下:
下面的示例报告显示调试构建变量的依赖关系树,包括前面例子中的本地库模块依赖和远程依赖性。
1、进入源码根目录,初始化系统环境。2、源码根目录执行如下命令,生成idegen.jarmmm,development/tools/idegen。
3、源码根目录下执行sudo,development/tools/idegen/idegen.sh。
4、修改android.ipr和android.iml的文件读写权限,文件默认为只读权限,修改权限后,我们修改android.iml文件,可以自定义只加载哪些模块,这样子在导入整个源码过程中,速度会快一点。
5、使用文本编辑器打开"android.iml"文件,搜索关键字"excludeFolder",把不需要加载的模块添加到此处,我一般关注app层和framework层,过滤掉以下模块。
6、接下来就是用Android,Studio打开工程源码下的android.ipr文件,此时就开始加载代码,整个过程大概需要十几分钟。
在Android Studio有不同的依赖添加:1. 添加自己下载的依赖
我想这是大部分开发者未能解决的问题,这种添加又分为2种:
添加下载的jar包:这个我想大家都都知道,直接放在<youproject>/<yourmodule>/build/libs下点击module setting,点击module找到dependencies,然后点击添加File dependency
添加一些依赖的开源项目:首先在project创建一个跟你module同级目录lib(名字随你)->把你下载的开源项目(这边我举ActionBarSherlock为例)放进这个文件夹 ->编辑settings.gradle,添加:include ':myModule', ':lib:abs' ->编辑你的module下的build.gradle文件,添加如下代码:[mw_shl_code=java,true]dependencies {
// Libraries
compile project(':lib:abs')
}[/mw_shl_code]
2. 用maven 的远程仓库里面的dependencies
你可以直接在build.gradle(注意是你的module里面的build.gradle)添加:
[mw_shl_code=java,true]dependencies {
compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
}[/mw_shl_code]
或者在module setting里面按添加按钮会有一个maven dependency选项,点击输入可以在maven dependency找到的依赖,ABS是肯定有的,你直接输入sherlock就可以找到。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)