Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Expected @HiltAndroidApp to have a value. Did you forget to apply the Gradle Plugin?

I have Google this problem, but the results are not work for me.

The detail as following.

    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?  

The App code.

@HiltAndroidApp class App : BaseApplication(), LifecycleOwner {      @Inject     lateinit var service: EventService       private val mLifecycleRegistry = LifecycleRegistry(this)  }   

This module gradle file.

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"] } 

Who has ideas? Thanks!

like image 365
Cyrus Avatar asked Jul 14 '20 03:07

Cyrus


1 Answers

I just hit this problem this morning. Do you have anything in your build.gradle that adds arguments to the annotationProcessOptions? For example:

  android {         ...         defaultConfig {             ...             javaCompileOptions {                 annotationProcessorOptions {                     arguments = ["room.schemaLocation":                                  "$projectDir/schemas".toString()]                 }             }         }     } 

If so, try changing from "arguments =" to "arguments +=", as just using equals overwrites anything set previously.

like image 126
SteveC Avatar answered Oct 06 '22 01:10

SteveC