使用 Kapt 和 Gradle 中的实现声明依赖项时,它们之间有什么区别?

use*_*761 14 android gradle kotlin android-studio android-gradle-plugin

kapt在声明依赖项时,Gradle和之间有什么区别implementation,以及何时应该使用其中一个而不是另一个?

例子:

//Room Components
implementation "androidx.room:room-runtime:$rootProject.roomVersion"
kapt "androidx.room:room-compiler:$rootProject.roomVersion"

// dagger
implementation "com.google.dagger:dagger:$rootProject.ext.daggerVersion"
kapt "com.google.dagger:dagger-android processor:$rootProject.ext.daggerVersion"
Run Code Online (Sandbox Code Playgroud)

Fil*_*ira 1

简而言之:实现和 kapt 没有直接关系

当谈到 kotlin 时,您使用 kapt,而 Java 使用注释处理器。

使用哪一个?取决于库的工作方式

一探究竟

https://developer.android.com/studio/build/dependencies?hl=pt-br