close

compile 在 2018年底已經不再支援了

所以升級 Gradle 成了必然

而升級到 Gradle 3 以上的朋友第一個遇到的問題應該就是下面這個

WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
 

這時候就會有一個疑問了

'implementation' and 'api' 兩個有什麼不同呢?

舉例來說我們有 A、B、C Module

由於 A 和 B 的關係不重要,所以情況有下列兩種

情況一、A implementation/api B implementation C 

情況二、A implementation/api B api C 

 

現在假設 C 有一個 Method 我們可以這樣用 C.getName()

情況一:B 可以使用  C.getName() 但 A 不可使用

情況二:A、B 都可以使用  C.getName()

 

明白了嗎?

用 api 依賴的可以被後面依賴層級的 Module 運用

但 implementation 就只作用於當前 Module ,不過 compile 會比較快

那我們以前用習慣的 compile 是哪一種呢?

答案:compile = api 

 

 

 

 

 

 

 

 

 

 


arrow
arrow

    顏澤偉 發表在 痞客邦 留言(0) 人氣()