Android編譯implement、api 和compile區別

前言

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指令

這個指令的特點就是,對於使用了該命令編譯的依賴,對該項目有依賴的項目將無法訪問到使用該命令編譯的依賴中的任何程序,也就是將該依賴隱藏在內部,而不對外部公開。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章