Gradle中compile,provided,compile files,compile project有何区别?
目录
在一个Android项目的build.gradle中,dependencies闭包中有以下四种形式的声明:
|
|
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文件放进去,可以用这个命令。生成jar文件的时候,也不会打包provided的模块。