一、�Gradle中compile, provided, compile files, compile project区别
在一个Android项目的build.gradle中,dependencies闭包中有以下四种形式的声明:
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,3,4本质上是一样的,区别在于:
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文件放进去,可以用这个命令。