前言
2017 年google 後,Android studio 版本更新至3.0,更新中,連帶着com.android.tools.build:gradle 工具也升級到了3.0.0,在3.0.0中使用了最新的Gralde 4.0 里程碑版本作爲gradle 的編譯版本,該版本gradle編譯速度有所加速,更加欣喜的是,完全支持Java8。當然,對於Kotlin的支持,在這個版本也有所體現,Kotlin插件默認是安裝的。
在com.android.tools.build:gradle 3.0 以下版本依賴在gradle 中的聲明寫法
compile fileTree(dir: 'libs', include: ['*.jar'])
1
但在3.0後的寫法爲
implementation fileTree(dir: 'libs', include: ['*.jar'])
或
api fileTree(dir: 'libs', include: ['*.jar'])
在3.0版本中,compile 指令被標註爲過時方法,而新增了兩個依賴指令,一個是implement 和api,這兩個都可以進行依賴添加,但是有什麼區別呢?
api 指令
完全等同於compile指令,沒區別,你將所有的compile改成api,完全沒有錯。
implement指令
這個指令的特點就是,對於使用了該命令編譯的依賴,對該項目有依賴的項目將無法訪問到使用該命令編譯的依賴中的任何程序,也就是將該依賴隱藏在內部,而不對外部公開。