Android Studio中的Gradle相关小知识点
来源:互联网 发布:希路猎人鞋好不好知乎 编辑:程序博客网 时间:2024/05/17 07:17
原gradle的知识点
gradle中的依赖管理
依赖管理
大概来说,依赖管理由两方面构成。一方面,Gradle需要知道在构建项目时所需要构建或者运行的东西以便Gradle找到它们,我们将这些被导入的文件称作项目的依赖。另一方面,Gradle需要构建或者上传您的项目产出的东西,我们将这些由您的项目产出的文件称作项目的出版物。
1.大部分项目并不是依靠项目本身独立完成的。它们需要加入其他项目构建的文件以便进行编译或测试等等。举个例子,为了在我的项目中使用Hibernate,在编译我的源码时我需要在classpath中引入一些Hibernate的jar文件。为了运行我的测试项目,我可能也需要在测试项目的classpath中引入一些额外的jar文件,例如一个特别的JDBC驱动包或者Ehcache框架包。 对于这些由项目依赖导入的文件,Gradle允许您告诉它您的项目都依赖了那些文件以便Gradle能够负责找到这些依赖文件,然后让这些文件在您的构建项目中可用。这些依赖文件可能需要从远程的Maven或者Ivy仓库下载,或者存在于本地目录中,或者在一些多项目构建中由其他项目构建而来。我们将这个过程称作<依赖解析> 很多情况下,项目的依赖文件也会有它们自己的依赖文件。举个例子,Hibernate核心的运行需要在classpath中声明几个其他库文件。因此,当Gradle构建您的项目时,也需要找到这些被依赖文件所依赖的文件以确保它们可用。我们将这种情况称作<可传递性的依赖>
gradle依赖配置项
在Gradle中,依赖被组织到不同的配置项。每一个配置项中有一组的依赖,这些配置项被称作<依赖配置项>。你可以用这些配置项声明项目的外部依赖,这一点再之后我们就会看到。依赖配置项也可以用来声明项目的产物。
Java插件定义了许多标准的依赖配置项。这些配置项代表了Java插件需要用到的classpath。
compile 在编译项目源代码时会使用到compile配置项中的依赖。
runtime 在运行项目时会用到runtime配置项中的依赖。默认情况下,也会包含编译代码时候的依赖。
AndroidStudio中gradle的知识点
Gradle 项目可以依赖于其它组件。这些组件可以是外部二进制包,或者是其它的 Gradle 项目
给出一个例子
dependencies {compile fileTree(dir: 'libs', include: ['*.jar'])compile 'com.android.support:appcompat-v7:21.0.3'compile project(':library')compile 'com.nineoldandroids:library:2.4.0'}
这里的
compile fileTree(dir: 'libs', include: ['*.jar'])
就是引用libs这个目录下的所有.jar.文件,如果需要指向一个特定的jar文件,写法可以这样
compile files('libs/xx.jar')
远程文件
compile 'com.android.support:appcompat-v7:21.0.3'
这里则是引用21.0.3版本的appcompat-v7。
在 Android Studio中,使用 android support ,需要在 SDK 中下载 Android Support Repository ,且项目中使用的版本不能大于 SDK 中的版本。当你的 SDK 中已经下载指定版本的 Android Support Repository ,即使没有联网,你也是可以在 Android Studio 中依赖对应的文件。如果你的 SDK 没有下载指定版本的 Android Support Repository ,即使你现在连着网,也会出错。(此处不太懂,需要再查看关于support,tool,api版本的内容)
使用 maven 和 ivy 时需要在 build.gradle 中将仓库添加到列表中。
repositories { jcenter()}}allprojects {repositories { jcenter()}}
*mavenCentral() :表示依赖从 Central Maven 2 仓库中获取。
*jcenter() :表示依赖从 Bintary’s JCenter Maven 仓库中获取。
*mavenLocal() :表示依赖从本地的Maven仓库中获取。
库项目
compile project(':library')
引用名称为 library 的 module 。需要注意的是,被引用的 module 需要在 {@projectName}/settings.gradle 文件中进行注册。
我们可以观察到,library/build.gradle 中使用的 apply plugin 为 ‘com.android.library’。用以标记这是一个 Android Library Project 。
当然,你也可以依赖一个 Java Project ,apply plugin 为 ‘java’。
知识来源:
http://ask.android-studio.org/?/article/10
http://ask.android-studio.org/?/article/28
- Android Studio中的Gradle相关小知识点
- Android Gradle学习1--android studio中的相关配置
- android-studio gradle相关知识
- Android Studio Gradle相关问题
- Gradle 系列第二讲-android studio中的四个Gradle相关文件讲解
- Android Studio 中的 gradle 详解
- 初识Android Studio中的Gradle
- Android Studio中的Gradle介绍
- Android Studio 中的 gradle 详解
- Android Studio 中的 gradle 详解
- Android studio 中的gradle粗解
- 【知识点】Android Studio之Gradle的几个知识点
- Android Studio Gradle相关异常记录
- 关于Android studio gradle相关错误
- Android studio项目结构与Gradle相关
- Android studio 中 Gradle 相关知识
- Android Studio Gradle配置相关问题
- Android Studio Gradle相关资料汇总
- java14天
- 百度在线编辑器ueditor的使用
- butterknife 混淆 NullpointerException
- 利用ajax异步处理发布状态(发布还是停用)
- 阴 15℃ 3.19日
- Android Studio中的Gradle相关小知识点
- javaEE项目抽取BaseService及其注意事项
- 晴 15℃ 3.21日
- 2.1 TCP Socket(含SSL)通讯库GCDAsyncSocket(五)
- java笔记
- 按条件模糊查询及分页查询
- s5pv210 spi 配置 ---可参考S3C6410篇
- 晴(大风) 12℃ 3.24日
- svn服务端的安装及其启动