example android android-studio kotlin dagger-2

android - example - retrofit dagger 2



Android Kotlin: Error Sin resolver referencia: DaggerAppComponent (4)

Estaba teniendo el mismo problema, pero mi caso era diferente al tuyo. La referencia no resuelta apareció solo al generar APK firmado. Así lo resolví:

app / build.gradle

kapt { generateStubs = true } dependencies { //... implementation ''com.google.dagger:dagger:2.9'' kapt ''com.google.dagger:dagger-compiler:2.9'' }

Ahora puedo desplegar mi APK firmado sin errores

He instalado el complemento Kotlin hoy en un proyecto existente con Dagger 2. Antes de instalar Kotlin no tuve problemas con Dagger. Sin embargo, ahora el compilador se queja:

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

Proyecto 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"

Módulo 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" }

El archivo DaggerAppComponent se genera automáticamente, por lo que estoy confundido en cuanto a por qué se produce un error de referencia no resuelto.



No utilice el dive para inyectar privado en Kotlin, utilícelo así para Kotlin

@Inject internal lateinit


apply plugin: ''kotlin-android'' apply plugin: ''kotlin-kapt''

Y en tus dependencias:

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"