«Предпочитаете вместо этого использовать процессор кинжала над этим классом» в Котлине

Я получаю эту заметку в сборке всякий раз, когда я ввожу в класс kotlin (кстати, у меня смешанный проект андроида с котлин и java).

Например, после этой задачи градации: compileStagingDebugJavaWithJavac (StagingDebug – мой вариант сборки), я получаю это сообщение:

«Примечание: Генерирование MembersInjector или Factory для com.packageNameXXX.CourseDiscoveryMapFragment. Предпочитаете вместо этого запустить процессор кинжала над этим классом».

Мой код CourseDiscoveryMapFragment можно увидеть здесь:

 class CourseDiscoveryMapFragment : Fragment(){ @Inject lateinit var presenter: CourseDiscoveryMapPresenter lateinit var mapView: MapView override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { val view = inflater.inflate(R.layout.fragment_discovery_map, container, false) MapsInitializer.initialize(activity) mapView = view.mapView mapView.onCreate(savedInstanceState?.getBundle(BUNDLE_KEY_MAP_STATE)) (activity as BaseActivity) .activityComponent.inject(this) } 

И мой ActivityComponent :

 @ActivityScope @Subcomponent(modules = ActivityModule.class) public interface ActivityComponent { void inject(BaseActivity baseActivity); void inject(CourseDiscoveryMapFragment fragment); //Exposed to sub-graphs. Activity activity(); } 

Итак, у меня есть компонент и модули кинжалов, написанные на Java, с инъекциями кинжалов в Котлине.

Это что-то, о чем я должен беспокоиться?

Спасибо.

Solutions Collecting From Web of "«Предпочитаете вместо этого использовать процессор кинжала над этим классом» в Котлине"

Боюсь, вы не можете. Почему бы не написать модули зависимостей в Котлине?

Чтобы написать модули зависимостей в java, вам необходимо настроить сценарий Gradle следующим образом:

  compile 'com.google.dagger:dagger:2.8' apt 'com.google.dagger:dagger-compiler:2.8' 

Но, чтобы писать модули зависимостей в Kotlin, вы должны настроить скрипт Gradle следующим образом:

 compile 'com.google.dagger:dagger:2.8' kapt 'com.google.dagger:dagger-compiler:2.8' 

Кинжалу нужен инструмент обработки аннотаций для генерации кода зависимостей во время процесса компиляции. Поэтому, я думаю, вам просто нужно использовать правильный APT (инструмент обработки аннотаций) в соответствии с правильным языком.