J'ai Google ce problème, mais les résultats ne sont pas fonctionnels pour moi.
Le détail comme suit.
public final class App extends com.zhixin.wedeep.common.BaseApplication implements androidx.lifecycle.LifecycleOwner {
^
// Expected @HiltAndroidApp to have a value. Did you forget to apply the Gradle Plugin?
Le code de l'application.
@HiltAndroidApp
class App : BaseApplication(), LifecycleOwner {
@Inject
lateinit var service: EventService
private val mLifecycleRegistry = LifecycleRegistry(this)
}
Ce fichier de gradle de module.
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-allopen'
apply plugin: 'androidx.navigation.safeargs.kotlin'
apply plugin: 'dagger.hilt.Android.plugin'
dependencies {
implementation rootProject.ext.dependencies["hilt-Android"]
implementation rootProject.ext.dependencies["hilt-lifecycle-viewmodel"]
kapt rootProject.ext.kapt["hilt-compiler"]
kapt rootProject.ext.kapt["hilt-Android-compiler"]
}
Qui a des idées? Merci!
N'oubliez pas d'ajouter Dépendance de la Hilt ClassPath au fichier de gradle de votre niveau de projet:
classpath "com.google.dagger:hilt-Android-gradle-plugin:$versions.daggerHiltCoreVersion"
Définissez le numéro de version spécifique au lieu de $ versions.daggerhiltcoreversion ci-dessus.
Et ajouter plugin à votre niveau d'application gradle:
apply plugin : 'dagger.hilt.Android.plugin'
Pour sauvegarder @stevec Réponse, lors de l'utilisation de Kotlin Haldle DSL est un peu différent
Nous ne pouvons pas utiliser non plus +=
Ou arguments = mapOf()
. Comme indiqué dans la poignée officielle-poignée documentation ici & the problème github ici En ce qui concerne les docs aussi
Voir ci-dessous l'image pour explications:
arguments = mapOf()
_ Callez setArguments
avec this.arguments.clear()
, écrasez ainsi l'argument précédent (dans ce cas Hilt
)Approche de contournement:
javaCompileOptions {
annotationProcessorOptions {
arguments(
mapOf(
"dagger.gradle.incremental" to "true",
"room.incremental" to "true"
)
)
}
}
Emballage de la fonction arguments()
sous forme de fonctions au lieu d'appeler Setter, il conservera également le précédent arguments
aussi.