Android 匕首';s模块没有';在从Java转换到Kotlin后无法工作
我用Dagger 2为Android创建了一个简单的应用程序。它有一个共享对象和一个模块。该模块是:Android 匕首';s模块没有';在从Java转换到Kotlin后无法工作,android,kotlin,dagger,Android,Kotlin,Dagger,我用Dagger 2为Android创建了一个简单的应用程序。它有一个共享对象和一个模块。该模块是: @Module public class MyModule { @Provides @Singleton public Hren providesHren() { return new Hren(); } } 这个模块可以工作。但是,当我将其转换为Kotlin时,会出现编译时错误: > Task :app:compileDebugJavaW
@Module
public class MyModule {
@Provides
@Singleton
public Hren providesHren() {
return new Hren();
}
}
这个模块可以工作。但是,当我将其转换为Kotlin时,会出现编译时错误:
> Task :app:compileDebugJavaWithJavac
...../DaggerMyApplicationComponent.java:26: error: cannot find symbol
DoubleCheck.provider(MyModule_ProvidesHrenFactory.create(builder.myModule));
^
symbol: variable MyModule_ProvidesHrenFactory
location: class DaggerMyApplicationComponent
1 error
转换后的此模块:
@Module
class MyModule {
@Provides
@Singleton
fun providesHren(): Hren {
return Hren()
}
}
怎么了?为什么我会犯这个错误?如何解决?确保已正确配置项目,以支持Kotlin的注释 在
build.gradle(模块:app)
文件中,检查是否应用了以下设置:
- 应用插件:“kotlin kapt”
- kapt“com.google.dagger:dagger编译器:dagger_版本”
- kapt“com.google.dagger:dagger android处理器:dagger_版本”
- ./gradlew清洁和&./gradlew建造
确保已正确配置项目以支持Kotlin的注释 在
build.gradle(模块:app)
文件中,检查是否应用了以下设置:
- 应用插件:“kotlin kapt”
- kapt“com.google.dagger:dagger编译器:dagger_版本”
- kapt“com.google.dagger:dagger android处理器:dagger_版本”
- ./gradlew清洁和&./gradlew建造
你清理了项目并重建了吗?你清理了项目并重建了吗?是的,我忘记了
annotationProcessor
仅适用于Java源代码,对于Kotlin,我需要kapt
。谢谢。是的,我忘记了annotationProcessor
仅适用于Java源代码,对于Kotlin,我需要kapt
。非常感谢。