![](/img/trans.png)
[英]Unresolved reference: DaggerAppComponent after converting to Kotlin
[英]Android Kotlin : Error Unresolved reference: DaggerAppComponent
我今天已經將Kotlin插件安裝到Dagger 2的現有項目中。在安裝Kotlin之前,我對Dagger沒有任何問題。 但是,現在編譯器抱怨:
Error:(5, 32) Unresolved reference: DaggerAppComponent
Error:Execution failed for task ':app:compileDebugKotlinAfterJava'.
> Compilation error. See log for more details
Error:(12, 21) Unresolved reference: DaggerAppComponent
項目gradle:
ext.kotlin_version = '1.1.1'
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
模塊gradle:
kapt {
generateStubs = true
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.0.1'
testCompile 'junit:junit:4.12'
compile 'com.google.dagger:dagger:2.7'
kapt 'com.google.dagger:dagger-compiler:2.7'
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}
DaggerAppComponent文件是自動生成的,所以我很困惑為什么會拋出未解析的引用錯誤。
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
在您的依賴項中:
implementation "com.google.dagger:dagger:2.x"
implementation "com.google.dagger:dagger-android:2.x"
implementation "com.google.dagger:dagger-android-support:2.x"
kapt "com.google.dagger:dagger-compiler:2.x"
kapt "com.google.dagger:dagger-android-processor:2.x"
我收到了相同的錯誤消息,但我的情況與您的情況不同。 未解決的引用僅在生成簽名APK時出現。 這就是我解決它的方式:
應用程序/的build.gradle
kapt {
generateStubs = true
}
dependencies {
//...
implementation 'com.google.dagger:dagger:2.9'
kapt 'com.google.dagger:dagger-compiler:2.9'
}
我現在可以無誤地部署我簽名的APK
這個項目幫助我走上正軌: https : //github.com/damianpetla/kotlin-dagger-example
首先,它在重建后出錯:
未解決的參考:DaggerAppComponent
您應該嘗試導入(Alt + Enter)該組件。
不要在Kotlin中使用私人注射匕首,像Kotlin一樣使用它
@Inject
internal lateinit
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.