Android Studio用Gradle的腳本來進行編譯動作,詳情可直接查看官網。
Configuration
在Android專案內,Gradle腳本會放在build.gradle
內。
強制執行task
編譯過程中,會避免重複執行任務,當task已被執行過,則會有以下訊息:
如要強迫其次編譯時都要執行:
task { outputs.upToDateWhen { false } }
|
Force rerun task
Command
在每個Android專案目錄下,都會有一個可執行的檔案,gradlew
,可以直接執行Gradle腳本進行編譯或其他操作。
執行task
列出library關係:
查看特定套件
假設目前dependency內有設定library如下:
implementation "com.github.bumptech.glide:glide:$glideVersion"
|
透過dependencyInsight
可以單獨輸出dependency:
./gradlew dependencyInsight --configuration compile(implementation) --dependency glide
com.github.bumptech.glide:glide:3.8.0 variant "default" \--- compile
|
在Gradle 3.0之後,會出現以下錯誤:
Resolving configuration 'implementation' directly is not allowed
|
目前解法是將implementation
換回compile
。
關閉開啟中的daemon
清除編譯產生的資料
查看所用的keystore的SHA1
清除build cache
./gradlew cleanBuildCache
|
強制重新解析和下載dependencies
./gradlew build --refresh-dependencies
|
Trouble Shooting
Reference