Android依赖compile、implement和api区别
Android Studio版本更新至3.0后,连带的gradle的版本也升级到3.0以上,再使用compile依赖系统会有提示,告诉你不要在用compile。
之前在gradle 3.0以下版本依赖的声明写法是:
compile fileTree(dir: 'libs', include: ['*.jar'])
但在gradle 3.0后的写法是:
implementation fileTree(dir: 'libs', include: ['*.jar'])
或
api fileTree(dir: 'libs', include: ['*.jar'])
那么这几个的区别是啥?
api
完全等同于compile指令,没区别,你将所有的compile改成api,完全没有错。
implement
这个指令的特点就是,对于使用了该命令编译的依赖,对该项目有依赖的项目将无法访问到使用该命令编译的依赖中的任何程序,也就是将该依赖隐藏在内部,而不对外部公开。