Dagger2는 안드로이드 스튜디오에서 컴포넌트 클래스를 생성하지 않습니다. 내 안드로이드 스튜디오에서 구현할 거의 모든 방법을 수행하면서 다양한 튜토리얼을 시도했지만, 매번 내가 쳤을 때 알려진 문제점을 알고 있습니다. 여기서는 대거 구성 요소 클래스를 작성하지 않습니다. 나는 또한 rebuild, gradles 청소 및 캐시를 무효화하려고했지만 도움이되지 않습니다. 다음은 안드로이드 스튜디오에서 어떤 문제가 아니면 내가 뭐하는 거지Dagger2 Dagger 컴포넌트 클래스를 생성하지 않습니다.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
}
apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt'
android {
compileSdkVersion 25
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "com.example.g.daggerillkillu"
minSdkVersion 15
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
repositories{
maven{url "https://jetpack.io"}
}
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.1.0'
testCompile 'junit:junit:4.12'
compile 'com.google.dagger:dagger:2.0.2'
apt 'com.google.dagger:dagger-compiler:2.0.2'
provided 'javax.annotation:jsr250-api:1.0'
}
vehiclemodule.java
@Module
public class vehiclemodule {
@Provides
@Singleton
Motor providesMotor(){
return new Motor();
}
@Provides
@Singleton
Vehicle provideVehicle(){
return new Vehicle(new Motor());
}
}
vehicleComponent.java
@Singleton
@Component(modules = {vehiclemodule.class})
public interface VehicleComponent {
Vehicle provideVehicle();
}
샘플 프로젝트 build.gradle 내 하나입니다 뭔가 잘못?
은 @Inject 클래스를 확인하고 적절한 형식인지 확인 –