私はこの問題をグーグルしていますが、結果は私のためには機能しません。
以下のような詳細。
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?
_
アプリコード.
@HiltAndroidApp
class App : BaseApplication(), LifecycleOwner {
@Inject
lateinit var service: EventService
private val mLifecycleRegistry = LifecycleRegistry(this)
}
_
このモジュール卒業ファイル。
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"]
}
_
アイデアがいますか?ありがとう!
追加するのを忘れないでくださいhilt classpath依存性プロジェクトレベルgradleファイルに:
classpath "com.google.dagger:hilt-Android-gradle-plugin:$versions.daggerHiltCoreVersion"
_
上記の$ Versions.DaggerHiltCoreVersionの代わりに、特定のバージョン番号を定義します。
そしてあなたのアプリレベルグラグルにプラグインを追加します。
apply plugin : 'dagger.hilt.Android.plugin'
_
Kotlin Gradle DSLを使用する場合は、@Stevecの回答をバックアップするには少し異なります。
+=
またはarguments = mapOf()
のいずれかを使用することはできません。公式の短剣の丘に述べられているように ここでのドキュメンテーションGitHubの問題 ドキュメントについても
説明については、以下の画像を参照してください。
arguments = mapOf()
はthis.arguments.clear()
を使用してsetArguments
を呼び出します。これにより、前の引数を上書きします(この場合はHilt
)。回避策アプローチ:
javaCompileOptions {
annotationProcessorOptions {
arguments(
mapOf(
"dagger.gradle.incremental" to "true",
"room.incremental" to "true"
)
)
}
}
arguments()
を呼び出す代わりに関数としてラッピングされているため、前のarguments
も保持します。