[Android] 實作dagger2 遇到的錯誤Execution failed for task ':app:checkDebugDuplicateClasses'. & Could not find method kapt() for arguments

 在build.gradleb導入

kapt "com.google.dagger:dagger-compiler:2.12"

的時候產生的錯誤 Could not find method kapt() for arguments

這個還好說,只要將加入 id 'kotlin-kapt'

plugins {
   //加入
    id 'kotlin-kapt'
}    

的以上的錯誤就解決囉~

另外就算成功導入dagger,build的過程會再出現以下錯誤
Execution failed for task ':app:checkDebugDuplicateClasses'.

請在 gradle.properties 檔案加入這行:
android.enableJetifier=true
PS: android.enableJetifier=true 表示android插件會通過重寫二進制文件檔來自動遷移現有的第三方lib,以使用AndroidX依賴項。 未設置時默認為false

以上是光是在導入lib dagger的時候就會產生的問題。

至於如何實作dagger到自己的專案中,我先把資料放到參考裡,有機會再寫。

參考 referenece:

https://developer.android.com/training/dependency-injection/dagger-android?hl=zh-tw

解決Execution failed for task ':app:checkDebugDuplicateClasses'.
https://stackoverflow.com/questions/56716047/execution-failed-for-task-appcheckdebugduplicateclasses-ionic4-android
https://blog.csdn.net/u014175785/article/details/115295136


Could not find method kapt() for arguments
https://stackoverflow.com/questions/38833242/unresolved-reference-daggerapplicationcomponent

實作dagger (ps: 其實參考的文章非常多,但太多了主要是以這三篇為主)
https://medium.com/jastzeonic/dagger-2-kotlin-%E9%82%A3%E4%B8%80%E5%85%A9%E4%BB%B6%E4%BA%8B%E6%83%85-3206bd69c8a6
https://givemepass.blogspot.com/2019/10/retrofit_30.html
https://xlet.medium.com/android-dagger2-%E5%88%9D%E5%AD%B8%E7%AD%86%E8%A8%98-%E4%BB%A5-kotlin-%E9%80%B2%E8%A1%8C%E5%B8%B8%E7%94%A8%E5%87%BD%E5%BC%8F%E5%BA%AB%E4%BE%9D%E8%B3%B4%E6%B3%A8%E5%85%A5-a34202f25afb

實作之程式下載:
https://drive.google.com/file/d/1EJTAwByQuDN7dslsT5hmLIii8bpoEbB9/view?usp=drive_link

android developer對於DAGGER實作介紹:
https://developer.android.com/codelabs/android-dagger#1


留言

熱門文章