天天看點

Android項目中的Gradle Task流程可視化

大家在用gradle開發android項目的時候,想必都知道建構過程是由一個一個的任務(task)組成的。

那麼項目中到底有那些task呢?

執行上面的指令,你會看到項目中定義的所有task。

這些task是怎樣依賴的,建構過程中又是怎樣的流程?

在實踐過程中,我找到兩個gradle插件,可以幫助我們實作流程的可視化。

gradle-task-tree可以将項目下的task依賴關系以樹的形式,輸出到終端。

gradle ... tasktree --no-repeat

結果會列印在終端。

gradle-visteg可以将項目下的task依賴關系以圖的形式,輸出到檔案。

預設是輸出到.dot檔案中,通過graphviz工具可以将.dot檔案轉換成.png檔案。

執行正常的task。

預設會生成build/reports/visteg.dot檔案。

在ubuntu下,可以通過xdot,直接打開該檔案。

通過以下指令可以轉換成png圖檔

task流程圖

{% asset_img visteg.dot.png [task流程圖] %}

<a href="https://github.com/dorongold/gradle-task-tree">https://github.com/dorongold/gradle-task-tree</a>

<a href="https://github.com/mmalohlava/gradle-visteg">https://github.com/mmalohlava/gradle-visteg</a>