1. 程式人生 > >Android studio 如何檢視 library 間的依賴關係

Android studio 如何檢視 library 間的依賴關係

一、配置環境

Android Studio中使用的 gradle 版本一般不是最新版,所以在使用其自帶的 Terminal 時容易報版本過低的錯誤,為了方便使用,我從 gradle
官網下載了最新版的 gradle ,然後配置好 gradle 的環境變數以方便使用。

二、gradle task 相關內容

gradle 本身不提供檢視 library 依賴關係的命令,幸好 Android Studio 提供了可供檢視的 task ,位於各個 module 的 help 任務堆中,如下圖:

圖一

圖二

雙擊 dependencies 執行該任務,可以看到在 gradle console 中均沒有得到依賴關係,結果如下圖所示:

圖三

從上圖可以看出無論我們執行哪個 module 下的 dependencies 其結果都是相當於在 Root project 執行了該任務;那麼在 app project 或者 test01library project 中執行該 dependencies 任務呢?此時就需要我們通過命令列的方式執行 dependencies 了。

1.檢視 app project 的依賴關係

在該路徑下開啟命令列工具,輸入

gradle dependencies

稍等一會,便可看到 library 的依賴關係,如下圖所示:

這裡寫圖片描述

但是命令列中會生成大量內容,並且無法看到全部資訊,為了方便檢視,我們將輸出資訊寫入文字檔案中

gradle dependencies >log.txt

在當前目錄下將生成一個 log.txt 檔案裡面包括所有 app project 所依賴 library 的所有依賴關係(test01library 同理) 。

2.檢視指定型別的依賴關係

由於 dependencies 的配置型別太多這裡僅以編譯時 library 為例說明:

// 檢視 compile 時的依賴關係
gradle dependencies --configuration compile

關於其他配置型別可以通過這條命令獲得:

gradle dependencies --info

可以看到有很多引數

這裡寫圖片描述

3.在 Root project 下檢視依賴關係

在專案根目錄下我們可以通過下面命令達到和上面相同的效果,如:

// gradle :project name:dependencies [--configuration compile]
gradle :app:dependencies --configuration compile

三、總結

檢視各 library 的依賴關係是為了避免出現java.util.zip.ZipException: duplicate entry exception android/support/vX/…/xxx.class 異常;由於 app project 必定會直接或間接引用其他所有 project, 所以,只檢視這一個 project 的依賴關係即可得到全部資訊。