在一个Android项目的build.gradle中,dependencies闭包中有以下四种形式的声明:
1 2 3 4 |
compile 'com.android.support:appcompat-v7:22.2.1' provided 'com.squareup.dagger:dagger-compiler:1.2.1' compile files('libs/picasso-2.4.0.jar') compile project(':androidPullToRefresh') |
1 是从repository(默认是jCenter())里下载一个依赖包进行编译并打包
3 是从本地的libs目录下寻找picasso-2.4.0.jar这个文件进行编译并打包。类似的命令有compile fileTree(dir: 'libs', include: '*.jar')
——将libs目录下所有jar文件进行编译并打包。
4 是将另一个module(等同eclipse中的library)进行编译并打包
至于provided,是提供给那些只编译不打包场景的命令。就是,我在编译的时候对某一个jar文件有依赖,但是最终打包apk文件时,我不想把这个jar文件放进去,可以用该命令。目前在一些插件化的场景需要用到这个命令。