Android Studio開發(fā)中implementation 和compile區(qū)別

在com.android.tools.build:gradle 3.0 以下版本依賴在gradle 中的聲明寫法

compile fileTree(dir: 'libs', include: ['*.jar'])

但在3.0后的寫法為

implementation fileTree(dir: 'libs', include: ['*.jar'])

api fileTree(dir: 'libs', include: ['*.jar'])

在3.0版本中,compile 指令被標注為過時方法,而新增了兩個依賴指令,一個是implement 和api,這兩個都可以進行依賴添加,但是有什么區(qū)別呢?

api 指令

完全等同于compile指令,沒區(qū)別,你將所有的compile改成api,完全沒有錯。

implement指令

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

用圖來形容兩者的區(qū)別

用api指令編譯,Glide依賴對app Module 是可見的

用implement指令編譯依賴對app Module 是不可見的
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 用兩張圖告訴你,為什么你的 App 會卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 14,030評論 2 59
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,119評論 25 708
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,597評論 19 139
  • 內置函數(shù)——format 說明: 1. 函數(shù)功能將一個數(shù)值進行格式化顯示。 2. 如果參數(shù)format_spec未...
    go以恒閱讀 235評論 0 0
  • 真正使我感覺厭煩的是世界的多變性,我是一個守舊的古板女子,太多的變化并不能使我感覺到新鮮有趣味,我更多的是疲憊和缺...
    簡西云閱讀 411評論 0 0

友情鏈接更多精彩內容