1

我的项目最初是用 Java 开始的(包含 dagger 和 moxy 框架)。

我添加了房间依赖项,并且我在 kotlin 中创建了所有房间组件,以便我使用以下依赖项:

implementation "androidx.room:room-runtime:2.2.6"

kapt "androidx.room:room-compiler:2.2.6"

当我添加apply plugin: 'kotlin-kapt'我有匕首错误:

找不到符号 DaggerAppComponent;

当我尝试添加kapt "com.google.dagger:dagger-compiler:$dagger"错误消失但出现新错误时,moxy(MVP 框架)@InjectPresenter在运行时不起作用(演示者为空)

moxy 初始依赖项

implementation "com.github.moxy-community:moxy:2.2.1"
implementation "com.github.moxy-community:moxy-app-compat:2.2.1"
annotationProcessor "com.github.moxy-community:moxy-compiler:2.2.1"

匕首初始依赖项

annotationProcessor "com.google.dagger:dagger-compiler:$dagger"
testImplementation "com.google.dagger:dagger:$dagger"
testAnnotationProcessor "com.google.dagger:dagger-compiler:$dagger"
androidTestImplementation "com.google.dagger:dagger:$dagger"
androidTestAnnotationProcessor "com.google.dagger:dagger-compiler:$dagger"
implementation "com.google.dagger:dagger:$dagger"

为什么当我添加apply plugin: 'kotlin-kapt'匕首停止编译?

4

1 回答 1

0

嗨,也许你有依赖项不兼容的问题。我正在使用具有此依赖项的房间:

//ROOM dependencies
implementation "androidx.room:room-runtime:2.3.0-rc01"
kapt "androidx.room:room-compiler:2.3.0-rc01"
implementation "androidx.room:room-ktx:2.3.0-rc01"

重要::确保您已正确声明 android 插件,订单插件声明很重要,我已像这样导入:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

PD:我在同一个项目中使用dagger-hiltroom,我没有问题。

于 2021-04-04T15:00:59.013 回答