1. 程式人生 > 其它 >Gradle依賴之‘五種依賴配置’

Gradle依賴之‘五種依賴配置’

今天查了下關於gradle中的依賴引用的情況:

原文:https://zhuanlan.zhihu.com/p/110215979

當前Gradle中共有 5 種依賴關係 ;外加2種測試用的依賴

01. Implementation

將指定的依賴新增到編譯路徑,並將該依賴打包到輸出檔案中,如apk;

但是這個依賴在編譯時不能暴露給其他模組,例如依賴此模組的其他模組。這種方式指定的依賴在編譯時只能在當前模組中訪問。

02. api

使用api配置的依賴會將對應的依賴新增到編譯路徑,並將依賴打包輸出,但是這個依賴是可以傳遞的,

比如模組A依賴模組B,B依賴庫C,模組B在編譯時能夠訪問到庫C,但是與implemetation不同的是,在模組A中庫C也是可以訪問的。

03. compileOnly

compileOnly修飾的依賴會新增到編譯路徑中,但是不會打包到apk中,因此只能在編譯時訪問,且compileOnly修飾的依賴不會傳遞。

04. runtimeOnly

這個與compileOnly相反,它修飾的依賴不會新增到編譯路徑中,但是被打包到apk中,執行時使用。

05. annotationProcessor

用於註解處理器的依賴配置

測試用依賴
testImplementation 和androidTestImplementation

-------------------------------------------------------------------------------------------------------------

舉例:

LomBok: 這個庫是用於在編譯時快速生成Getter和Setter等內容的,所以只使用在編譯階段,同時配置上註釋依賴處理