Ich bekomme diese Notiz im Build, wenn ich eine Injektion in eine Kotlin-Klasse mache (übrigens habe ich ein gemischtes Android-Projekt mit Kotlin und Java).
Zum Beispiel compileStagingDebugJavaWithJavac
erhalte ich nach dieser Gradle-Aufgabe: (StagingDebug ist meine Build-Variante) die folgende Meldung:
"Hinweis: Generieren eines MembersInjector oder einer Factory für com.packageNameXXX.CourseDiscoveryMapFragment. Führen Sie den Dolchprozessor lieber über diese Klasse aus."
Mein CourseDiscoveryMapFragment- Code ist hier zu sehen:
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)
}
Und meine ActivityComponent ist:
@ActivityScope
@Subcomponent(modules = ActivityModule.class)
public interface ActivityComponent {
void inject(BaseActivity baseActivity);
void inject(CourseDiscoveryMapFragment fragment);
//Exposed to sub-graphs.
Activity activity();
}
Also habe ich Dolchkomponenten und -module in Java geschrieben, während ich Dolchinjektionen in Kotlin habe.
Ist das etwas, worüber ich mir Sorgen machen sollte?
Danke dir.
Antworten:
Ich fürchte, du kannst nicht. Warum nicht Abhängigkeitsmodule in Kotlin schreiben?
Um Abhängigkeitsmodule in Java zu schreiben, müssen Sie Ihr Gradle-Skript folgendermaßen konfigurieren:
Um jedoch Abhängigkeitsmodule in Kotlin zu schreiben, sollten Sie Ihr Gradle-Skript folgendermaßen konfigurieren:
Dolch benötigt das Anmerkungsverarbeitungswerkzeug, um den Abhängigkeitscode während des Kompilierungsprozesses zu generieren. Ich denke, Sie müssen nur das richtige APT (Annotation Processing Tool) entsprechend der richtigen Sprache verwenden.
quelle