2017-03-16 22 views
10

Tôi đã cài đặt plugin Kotlin ngày hôm nay vào một dự án hiện có với Dagger 2. Trước khi Kotlin được cài đặt, tôi không gặp vấn đề gì với Dagger. Tuy nhiên, bây giờ các trình biên dịch phàn nàn: gradleAndroid Kotlin: Lỗi Chưa giải quyết tham khảo: DaggerAppComponent

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 

dự án:

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ô-đun 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" 


} 

File DaggerAppComponent IS tự động tạo ra, vì vậy tôi đang bối rối là tại sao có là một lỗi tham chiếu chưa giải quyết được ném.

+0

bạn giải quyết được sự cố? có chuyện gì vậy? –

+0

Mở 'Gradle Console' rồi nhấp vào 'Chạy với --stacktrace' để hiển thị thêm nhật ký (chi tiết hơn về lỗi) – Sally

Trả lời

13

Tôi đã có cùng một vấn đề, nhưng trường hợp của tôi thì khác hơn của bạn. Tham chiếu chưa được giải quyết chỉ xuất hiện khi tạo APK đã ký. Đây là cách tôi giải quyết nó:

app/build.gradle

kapt { 
    generateStubs = true 
} 

dependencies { 
    //... 
    compile 'com.google.dagger:dagger:2.9' 
    kapt 'com.google.dagger:dagger-compiler:2.9' 
} 

bây giờ tôi có thể triển khai APK chữ ký của tôi mà không có lỗi

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

Và trong sự phụ thuộc của bạn:

compile "com.google.dagger:dagger:2.11" 
compile "com.google.dagger:dagger-android:2.11" 
compile "com.google.dagger:dagger-android-support:2.11" 
kapt "com.google.dagger:dagger-compiler:2.11" 
kapt "com.google.dagger:dagger-android-processor:2.11" 
Các vấn đề liên quan