我想知道什么是包括在Android影城库项目的推荐方法摇篮这样的:更好的方式来导入库项目在Android的
第一种方式:
compile 'de.greenrobot:greendao:2.1.0'
方式二:
compile files('libs/greendao-2.0.0.jar')
有什么优点和缺点。
我想知道什么是包括在Android影城库项目的推荐方法摇篮这样的:更好的方式来导入库项目在Android的
第一种方式:
compile 'de.greenrobot:greendao:2.1.0'
方式二:
compile files('libs/greendao-2.0.0.jar')
有什么优点和缺点。
第一种方式:编译 'de.greenrobot:greendao:2.1.0'
PRO:
CON:
方式二:编译文件( '库/ greendao-2.0.0.jar')
PRO:
CON:
在大多数情况下,我觉得你想要去与第一种方式。
在第一种情况下,gradle完全处理依赖管理的过程,即下载jar并将其包含在项目中。
在第二种情况下,您必须手动下载jar并将其包含在libs文件夹中。
更简单和首选的方法是第一种。
相信我,第二种方法可以节省大量的建筑时间。顺便说一下,时间就是金钱。
在第一种方式,即:
compile 'de.greenrobot:greendao:2.1.0'
compile 'com.library.sample:library:x.x.x'
摇篮会发现这些依赖关系,并让他们在你的构建提供。如果你的依赖有一个依赖关系,Gradle也会找到它们并将它包含在项目中。所以你不需要手动添加所有的依赖关系。
7.1。什么是依赖管理?
非常粗略地说,依赖管理由两部分组成。首先, Gradle需要知道您的项目需要构建的东西 或运行,以便找到它们。我们称这些传入文件为项目的依赖关系 。其次,Gradle需要构建并上传项目产生的东西。我们将这些传出的 文件称为该项目的出版物。我们来看看这两块 的更多细节:
大多数项目并不是完全独立的。他们需要通过其他项目构建的文件 才能编译或测试等等。对于 的例子,为了在我的项目中使用Hibernate,当我编译我的源代码时,我需要在类路径中包含 一些Hibernate jar。要运行 我的测试,我可能还需要在 测试类路径中包含一些额外的jar,例如特定的JDBC驱动程序或Ehcache jar。
这些传入文件形成项目的依赖关系。 Gradle 可让您告诉它项目的依赖关系,因此 可以帮您找到这些依赖关系,并使其在您的构建中可以使用 。可能需要从远程Maven或Ivy存储库下载 ,或者位于本地目录 中,或者可能需要由同一个 多项目构建中的其他项目构建。我们称之为进程依赖关系解析。
请注意,此功能提供了比Ant更大的优势。使用Ant, 您只能指定要加载的特定罐子的绝对路径或相对路径。通过Gradle,您只需声明 您的依赖关系的“名称”,其他层决定从哪里获得这些依赖关系。您可以通过添加 阿帕奇常春藤获得类似的行为,但Gradle做得更好。
通常,项目的依赖关系本身具有 依赖关系。例如,Hibernate内核需要其他几个 库在它运行时出现在类路径中。所以,当Gradle 为您的项目运行测试时,它还需要找到这些 依赖项并使它们可用。我们称这些传递性的依赖关系为 。
Gradle会将下载的库存储到您的USER_HOME/.gradle
。在Linux中,它将存储在/home/user/.gradle/caches/modules-2/
中。在Mac中它将存储在~/.gradle/caches/modules-2/
。顺便说一下,如果你已经使用了库,你可以设置Android Studio使用库的本地缓存。
在第二种方式中,则需要手动添加库为您的项目。而且还需要包含库的所有其他依赖关系。这很容易出错。
太好了!但我想知道添加1行的依赖关系...并不总是添加任何.jar ....仍然有效。 –