Gradle技巧係列一: 打印Task輸入輸出等信息
在使用Android Studio開發Android應用的時候,我們都知道整個構建過程是由Gradle來驅動的,由一個一個的Gradle Task串起來的。
通常,我們點擊工具欄上的綠色三角之後,就開始編譯運行工程,直到將APP安裝到手機或者模擬器。在默認情況下,開發者通常隻能看到簡單的提示信息。
下麵簡單介紹幾個技巧,幫助開發者更好的理解整個編譯過程:
Gradle 技巧一: 打印每個Task的輸入輸出
將以下代碼貼到模塊的build.gradle下
gradle.taskGraph.afterTask { task ->
StringBuffer taskDetails = new StringBuffer()
taskDetails << """"-------------
name:$task.name group:$task.group : $task.description
conv:$task.convention.plugins
inputs:
"""
task.inputs.files.each{ it ->
taskDetails << " ${it.absolutePath}\n"
}
taskDetails << "outputs:\n"
task.outputs.files.each{ it ->
taskDetails << " ${it.absolutePath}\n"
}
taskDetails << "-------------"
println taskDetails
}
添加後,每次執行Gradle Task,你都能看到每一個Task的輸入輸出信息。
Gradle 技巧二: 打印每個模塊配置的依賴信息
將以下代碼貼到模塊的build.gradle下
task listJars << {
configurations.compile.each { File file -> println file.absolutePath }
}
這段代碼將會添加一個Gradle Task(名稱為listJars),作用就是打印出compile相關的所有依賴庫地址。
當然,這個compile還可以替換成kapt,annotationProcessor, provided 等。
聯係方式
- Email:yanghui1986527#gmail.com
- Github: https://github.com/snowdream
- Blog: https://snowdream.github.io/blog/
- 簡書:https://www.jianshu.com/u/748f0f7e6432
- 雲棲博客:https://yq.aliyun.com/u/snowdream86
- QQ群: 529327615
- 微信公眾號: sn0wdr1am
最後更新:2017-04-07 21:25:10