androidgradle依賴
『壹』 【Android studio】【Gradle】dependencies配置參數細解及異常解決
依賴項配置詳解及異常解決
當配置 implementation 依賴項時,Gradle 會將依賴項添加到編譯類路徑,並僅在運行時將其打包到構建輸出,適用於大多數應用和測試模塊,以縮短構建時間。使用 api 配置時,依賴項不僅會添加到編譯類路徑和構建輸出,且該模塊需將依賴項以傳遞方式導出給其他模塊,適用於對外公開API的模塊。 compileOnly 配置下,依賴項僅添加到編譯類路徑,幫助減小APK大小,適用於編譯期間需要但運行時可有可無的依賴。 runtimeOnly 則只在構建輸出中添加依賴項,確保運行時可用,類似於 apk 配置。
註解處理器依賴通過 annotationProcessor 配置添加,將編譯類路徑與注釋處理器類路徑分開,優化構建性能。避免在編譯類路徑上找到注釋處理器引發構建錯誤,確保使用正確配置。
lint 檢查通過 lintChecks 或 lintPublish 配置實現,前者在構建項目時執行檢查,而後者則將檢查打包在 AAR 庫中,適用於需要將 lint 檢查應用於使用 AAR 的項目的場景。
已棄用的配置包括 apk、compile 和 provided,分別對應不同功能和使用場景,開發者需根據項目需求選擇合適配置。
遇到錯誤 Error: Annotation processors must be explicitly declared now. 時,應使用 annotationProcessor 配置依賴項,確保註解處理器在項目中明確聲明。
解決構建異常時,應注意變體感知型依賴項管理機制下的應用包含庫依賴項不兼容的構建類型或變種維度。可通過 matchingFallbacks 指定替代匹配策略,確保構建過程順利。
若在運行時類路徑上發現重復類導致錯誤,檢查是否存在二進制文件依賴項與庫直接依賴之間的重復,或本地二進制文件依賴項與遠程依賴項是否為同一庫,必要時移除重復項。
解決類路徑沖突時,考慮將所需版本的依賴項作為 api 依賴項添加到庫模塊,或確保在兩個模塊中聲明相同版本的依賴項,維護項目全局屬性的一致性。
所有變種都應屬於一個指定的變種維度,否則構建將失敗。確保每個模塊的所有變種分配給同一維度,若僅有單一維度自動分配則無需額外配置。
智能API介面開發工具smartApi-v1.0.0版本已上線,提供對國外postman的替代功能,功能精簡,支持API調試開發。下載地址:pan..com/s/1m5dY_p...