Кинжал 2 не может получить доступ к дооснащению

Я пытаюсь предоставить экземпляр Retrofit в свой репозиторий, используя Dagger 2 (с Android-модулем). Купить Я столкнулся с ошибкой:

Ошибка: невозможно получить доступ к дооснащению

Другие примеры, такие как Пикассо, были успешно внедрены, у меня просто проблемы с Retrofit.

Мой модуль

@Module class NetworkModule { @Provides @Singleton fun providesRetrofit(): Retrofit { return Retrofit.Builder() .addConverterFactory(GsonConverterFactory.create()) .baseUrl(URL_BASE) .build() } @Provides @Singleton fun providesPicasso(context: Context): Picasso { return Picasso.Builder(context) .loggingEnabled(true) .build() } @Provides @Singleton fun providesRemoteRepository(retrofit: Retrofit): RemoteRepository = RemoteRepository(retrofit) @Provides @Singleton fun providesRepository(remote: RemoteRepository): Repository = RepositoryImp(remote) } 

Мой компонент приложения

 @Singleton @Component(modules = arrayOf( AppModule::class, NetworkModule::class, AndroidInjectionModule::class, ActivityBuilder::class )) interface AppComponent { @Component.Builder interface Builder { @BindsInstance fun application(app: Application): Builder fun build(): AppComponent } fun inject(application: AppApplication) } 

Компонент приложения

 @Module class AppModule { @Provides @Singleton fun providesApplicationContext(app: Application): Context = app } 

Activity Builder

 @Module abstract class ActivityBuilder { @ContributesAndroidInjector(modules = arrayOf(MainActivityModule::class)) abstract fun bindMainActivity(): MainActivity } 

Мой репозиторий '

 class RepositoryImp @Inject constructor(val remoteRepository: RemoteRepository) : Repository { override fun fetchData() { } } 

Мой удаленный репозиторий

 class RemoteRepository @Inject constructor(retrofit: Retrofit) { val service: ApiService init { service = retrofit.create(ApiService::class.java) } } 

Грейдл Лог

 e: error: cannot access Retrofit e: e: class file for retrofit2.Retrofit not found e: Consult the following stack trace for details. e: com.sun.tools.javac.code.Symbol$CompletionFailure: class file for retrofit2.Retrofit not found w: warning: Supported source version 'RELEASE_7' from annotation processor 'android.arch.lifecycle.LifecycleProcessor' less than -source '1.8' w: e: java.lang.IllegalStateException: failed to analyze: org.jetbrains.kotlin.kapt3.diagnostic.KaptError: Error while annotation processing at org.jetbrains.kotlin.analyzer.AnalysisResult.throwIfError(AnalysisResult.kt:57) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules(KotlinToJVMBytecodeCompiler.kt:138) at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:154) at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:58) at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:103) at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:51) at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:92) at org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$1$2.invoke(CompileServiceImpl.kt:386) at org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$1$2.invoke(CompileServiceImpl.kt:96) at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$$inlined$ifAlive$lambda$2.invoke(CompileServiceImpl.kt:889) at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$$inlined$ifAlive$lambda$2.invoke(CompileServiceImpl.kt:96) at org.jetbrains.kotlin.daemon.common.DummyProfiler.withMeasure(PerfUtils.kt:137) at org.jetbrains.kotlin.daemon.CompileServiceImpl.checkedCompile(CompileServiceImpl.kt:916) at org.jetbrains.kotlin.daemon.CompileServiceImpl.doCompile(CompileServiceImpl.kt:888) at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:385) at sun.reflect.GeneratedMethodAccessor86.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:346) at sun.rmi.transport.Transport$1.run(Transport.java:200) at sun.rmi.transport.Transport$1.run(Transport.java:197) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:196) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: org.jetbrains.kotlin.kapt3.diagnostic.KaptError: Error while annotation processing at org.jetbrains.kotlin.kapt3.AnnotationProcessingKt.doAnnotationProcessing(annotationProcessing.kt:90) at org.jetbrains.kotlin.kapt3.AnnotationProcessingKt.doAnnotationProcessing$default(annotationProcessing.kt:42) at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.runAnnotationProcessing(Kapt3Extension.kt:205) at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.analysisCompleted(Kapt3Extension.kt:166) at org.jetbrains.kotlin.kapt3.ClasspathBasedKapt3Extension.analysisCompleted(Kapt3Extension.kt:82) at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM$analyzeFilesWithJavaIntegration$2.invoke(TopDownAnalyzerFacadeForJVM.kt:96) at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:106) at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:83) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:377) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:68) at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:96) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:368) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules(KotlinToJVMBytecodeCompiler.kt:133) ... 29 more :app:kaptDebugKotlin FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:kaptDebugKotlin'. > Internal compiler error. See log for more details 

Спасибо!

Я нашел проблему, был в build.gradle … Мой экземпляр модификации был в отдельном модуле. Этот модуль является api:

App build.gradle

 api project(':data') 

И я использовал реализацию в модифицированных зависимостях. Я изменился на api, и проблема была исправлена.

 api "com.squareup.retrofit2:retrofit:$retrofit_version" api "com.squareup.retrofit2:converter-gson:$retrofit_version" 
Intereting Posts
Предоставлять насмешливый объект другому конструктору конструктивного объекта? Сбой сборки при использовании «kotlin-kapt» с Realm Как управлять потоком без .flatMap, который разбивает реактивный поток, предотвращающий работу операторов, таких как distinctUntilChanged, от работы со всем потоком CountDownLatch не освобождает поток RxJava (Kotlin), Observable.amb и PublishSubject не стреляют Kotlin: Создайте и передайте истинные массивы Java (для JNA) Автоматическое обновление версии библиотеки для проектов Gradle в настоящее время не поддерживается. Обновите файл build.gradle вручную. Spring Data Neo4j 5's EntityScan содержит сопутствующие объекты при использовании Kotlin Просмотры события касания заполняет весь экран Как заменить FrameLayout на активность фрагментом? Как установить и настроить Kara Web Framework? База данных комнаты Вставьте или обновите, но сохраните поле базы данных? Преобразование процедурных методов стиля в функциональный стиль Расширение Kotlin Android не может разрешить «текст», Значение Kotlin не может быть нулевым?