Android Studio项目中三种依赖的添加方式
通常一个AS项目中的依赖关系有三种,一是本地依赖(主要是对本地的jar包),二是模块依赖,三是远程依赖;添加这些依赖的目的在于上我们想要在项目的某一个模块中使用其中的功能,比如okttp这个网络框架库,如果我们想要在项目的app模块下使用这个库的功能,则需要在app模块的build.gradle文件中添加相应的依赖,Gradle插件首先会在本地文件系统上去查找是否存在,如果不存在,然后会到全局的build.gradle文件中指定的代码仓库中去获取,需要联网,下面是指定的项目可以在哪些代码仓库当中去获取开源项目

三种依赖关系的添加是在模块中的build.gradle文件中的dependencies闭包下进行添加的

implementation fileTree(include: ['*.jar',dir:'libs'])这行语句的作用是一个本地依赖的声明,表示的含义是将当前项目中的libs目录下的所有后缀名为.jar文件都添加到项目的构建路径当中去,可以理解为本地依赖声明,但不是本地依赖的添加;本地依赖的添加较为简单,只需要将jar文件放置到相应模块(哪一个模块想用使用这个jar包提供的功能,就需要在该模块下的build.gradle文件中添加依赖)下的libs目录下,然后同步一下,看个添加本地依赖的例子吧:
首先来看一下没有添加本地依赖前模块的build.gradle文件的dependencies闭包的内容

记着它的样子,然后由于我们想要在app模块下使用jar包中的功能,首先我们将jar复制到app模块下的libs目录中,如图

不知道大家注意到没有,此时jar包是不可以点击开的,表示这个jar包还有添加到当前项目的构建目录当中,可以理解为没有在该模块下添加本地依赖。接下来我们右键单击jar包,找到Add As Library选项,进行同步

当我们将jar包进行依赖添加后,此时jar文件是可以点击开来的,而且此时我们再次右键jar文件时,Add As Library选项找不到了哦。如果你觉得这样会比较麻烦,那我们可以直接点击同步小按钮,不再右键单击jar包,也可以到达目的,下面是同步小按钮

添加本地依赖之后的jar文件是可以展开的

最后再来看一下dependencies闭包下的内容改变了什么

上面就是本地依赖的添加方式,其实我们可以直接书写多出来的语句添加到dependencies闭包当中。接下来再来学习一下模块依赖的可视化添加,点击Project Structure按钮,出现以下界面

然后点击添加模块依赖

一点击模块依赖,出现以下界面,说当前项目没有可以引用的模块

这是为什么呢?我们能够添加的模块依赖智能是当前项目所包含的,即右边的Modules中列出的模块。这个时候我们需要将模块复制到当前项目,比如我们添加CnwinLib模块,首先要将库模块复制到当前项目,然后在setting.gradle文件指明当前项目包含的模块

在setting.gradle文件中指明当前项目包含的模块

此时我们在来添加模块依赖

然后点击ok,Gradle会帮我同步,此时再来看一下dependencies闭包的内容

implementation project(':CnwinLib')就是用于添加模块依赖的语句,因此我们可以直接书写这个语句,不需要点击来点击去的,前提是如果你记得语句的格式。对于远程依赖的添加是类似的,就不多说。
总结一下,添加本地依赖的语句是implementation files('file-name'),添加模块依赖的语句implementation project(':模块名'),远程依赖添加的语句implementation '那个依赖地址'。
注意点,如果模块要想使用另一个模块,必须进行模块依赖的引用;远程依赖是在全局的build.gradle文件中的代码仓库当中去获取的,如果我们要添加的远程依赖的开源库所在的托管仓库不在我们项目的全局的build.gradle文件中声明过,那么我们是会依赖添加失败的哦。
作者:拜托科技
链接:https://www.jianshu.com/p/04159a2159b4
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
Android Studio项目中三种依赖的添加方式的更多相关文章
- 如何在Android Studio项目中导入开源库?
前两天,谷歌发布了Android Studio 1.0的正式版,也有更多的人开始迁移到Android Studio进行开发.然而,网上很多的开源库,控件等还是以前的基于Eclipse进行开发,很多人不 ...
- 深入浅出spring IOC中三种依赖注入方式
深入浅出spring IOC中三种依赖注入方式 spring的核心思想是IOC和AOP,IOC-控制反转,是一个重要的面向对象编程的法则来消减计算机程序的耦合问题,控制反转一般分为两种类型,依赖注入和 ...
- Android Studio 项目中集成百度地图SDK报Native method not found: com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache.Create:()I错误
Android Studio 项目中集成百度地图SDK报以下错误: java.lang.UnsatisfiedLinkError: Native method not found: com.baidu ...
- Spring中三种配置Bean的方式
Spring中三种配置Bean的方式分别是: 基于XML的配置方式 基于注解的配置方式 基于Java类的配置方式 一.基于XML的配置 这个很简单,所以如何使用就略掉. 二.基于注解的配置 Sprin ...
- 【转】ZYNQ中三种实现GPIO的方式
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/husipeng86/article/det ...
- Android——Android studio项目中如何查看R.java文件(转)
Android Studio 是Google推出的一个Android开发环境,它集成了Android 开发工具用于开发和调试,类似 Eclipse ADT.Google公司停止对eclipse的后续支 ...
- 【SSH系列】深入浅出spring IOC中三种依赖注入方式
spring的核心思想是IOC和AOP,IOC-控制反转,是一个重要的面向对象编程的法则来消减计算机程序的耦合问题,控制反转一般分为两种类型,依赖注入和依赖查找,依赖什么?为什么需要依赖?注入什么?控 ...
- spring IOC中三种依赖注入方式
Spring的核心思想是IOC和AOP,IOC-控制反转,是一个重要的面向对象编程的法则,用来消减计算机程序之间的耦合问题,控制反转一般分为两种类型,依赖注入和依赖查找,依赖什么?为什么需要依赖?注入 ...
- Android Studio 项目中,哪些文件应该忽略而不提交到svn的服务器中?
Android Studio 中建议过滤的文件: - .idea 文件夹 - .gradle 文件夹 - 所有的 build 文件夹 - 所有的 .iml 文件 - local.properties ...
随机推荐
- 利用nginx的fastcgi_cache模块来做缓存
nginx不仅有个大家很熟悉的缓存代理后端内容的proxy_cache,还有个被很多人忽视的fastcgi_cache. proxy_cache的作用是缓存后端服务器的内容,可能是任何内容,包括静态的 ...
- spring的IOC和AOP详细讲解
1.解释spring的ioc? 几种注入依赖的方式?spring的优点? IOC你就认为他是一个生产和管理bean的容器就行了,原来需要在调用类中new的东西,现在都是有这个IOC容器进行产生,同时, ...
- Json的访问
JSON:JavaScript 对象表示法(JavaScript Object Notation) 写法:名称/值对 访问方法:可以通过 data.名称 访问,也可以通过 data['名称'] 访问 ...
- Tiled 地图编辑器使用教程-官方demo
一.Tiled Map Editer 下载地址 http://www.mapeditor.org/download.html 二.官方教程查看 下载安装后,不管windows还是Mac系统都包含官方例 ...
- css3之移动平台资源
随着移动端越来越普及,前端技术也是百花齐放,但目前移动平台的技术已经趋向于成熟,记得刚实习的时候就是接触的移动端,但现在2年多来,期间遇到了很多莫名其妙的问题,见证了手机用户量的突飞猛进,兴喜的是更多 ...
- orientationchange事件
orientationchange事件 resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize':
- 厌烦了写findViewById 试试ButterKnife吧
先上官网 http://jakewharton.github.io/butterknife/ 和 https://github.com/JakeWharton/butterknife 配置开发环境 ...
- SQL Server2005修改计算机名后不能发布订阅
在一台安装有SQL Server2005的计算机上,更改计算机名后,在发布订阅的时候提示如下错误报告: 由于需要需要配置一个发布订阅,可是一直报告:" sql server 复制需要有实际的 ...
- centos6.5_64bit_tomcat7开机自启
一.创建tomcat脚本 vim /etc/init.d/tomcat 将下面的内容拷到脚本里面 =================================================== ...
- April 7 2017 Week 14 Friday
A good heart is better than all the brains in the world. 聪明绝顶,不如宅心仁厚. A good heart can be useful to ...