मैं एंड्रॉइड प्रोजेक्ट में कोटलिन के साथ डैगर 2 का परीक्षण कर रहा हूं। मैं Android Clean Architecture रेपो से प्रेरित था। मेरे पास मेरे ग्रेडल बिल्ड में दो मॉड्यूल हैं, एक "ऐप" है और एक "मॉड्यूल" है। मॉड्यूल में एक क्लास कॉल मॉडल होता है। मेरे ऐप ग्रेडल मॉड्यूल में मैंने मॉडल प्रदाता के साथ "डैगर मॉड्यूल" नामक एक डगर मॉड्यूल बनाया।अनसुलझा संदर्भ डैगर 2 + कोटलिन + एंड्रॉइड ग्रेडल
DaggerModule.kt: (3, 57): Unresolved reference: Model
DaggerModule.kt: (9, 34): Unresolved reference: Model
DaggerModule.kt: (9, 42): Unresolved reference: Model
जब मैं "एप्लिकेशन" मॉड्यूल सब कुछ के अंदर करने के लिए "मॉड्यूल" मॉड्यूल से मॉडल वर्ग ले जाने का प्रयास संकलित w/ओ त्रुटि: जब मैं परियोजना बनाने की कोशिश, मैं संकलन त्रुटियों मिलता है। यह पता लगाने की कोशिश कर रहा हूं कि क्या मैं कुछ बेवकूफ कर रहा हूं, या अगर मुझे कहीं भी एक बग फाइल करना चाहिए।
संदर्भ यहाँ समस्याग्रस्त फ़ाइलों के स्निपेट के लिए:
----
app/build.gradle
buildscript {
repositories {
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:0.12.1218'
}
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
repositories {
jcenter()
mavenCentral()
}
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.github.app.kotlin_unresolved_reference.app"
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_6
targetCompatibility JavaVersion.VERSION_1_6
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':module')
compile 'com.android.support:appcompat-v7:22.2.1'
kapt "com.google.dagger:dagger-compiler:2.0.1"
compile "com.google.dagger:dagger:2.0.1"
compile "javax.annotation:javax.annotation-api:1.2"
compile "org.jetbrains.kotlin:kotlin-stdlib:0.12.1218"
}
---
module/build.gradle
apply plugin: 'java'
//noinspection GroovyUnusedAssignment
sourceCompatibility = 1.7
//noinspection GroovyUnusedAssignment
targetCompatibility = 1.7
configurations {
provided
}
sourceSets {
main {
compileClasspath += configurations.provided
}
}
dependencies {
provided "com.google.dagger:dagger-compiler:2.0.1"
compile "com.google.dagger:dagger:2.0.1"
compile "javax.annotation:javax.annotation-api:1.2"
compile "org.jetbrains.kotlin:kotlin-stdlib:0.12.1218"
}
---
DaggerModule.kt
Module
public class DaggerModule {
Provides fun provideModel(): Model = Model()
}
----
Model.kt
public class Model { }
अस्वीकरण: यह मेरा पहला परीक्षण ड्राइविंग डैगर 2 और एक Gradle newb हूँ। नमूना प्रोजेक्ट वह न्यूनतम कोड है जिसे मैं समस्या को प्रदर्शित करने के लिए पा सकता हूं। मुझे यह करने की उम्मीद नहीं है: डी।
क्या आपका मॉड्यूल ** सेटिंग्स.gradle ** में शामिल है? – Lamorak
हाँ मॉड्यूल को धीरे-धीरे सेटिंग्स में शामिल किया गया है। – donaldlittlpie