android studio 3 (현재 베타 4)의 최신 베타 버전을 사용하고 있으며 필요한 대거 클래스를 생성 할 수 없습니다.DaggerApplicationComponent가 컴파일되지 않았습니다.
내 측면에서 나는 빈 프로젝트를 만들었습니다. 그런 다음 나는 단검 노트 인 YourActivity와 일치하도록 활동의 이름을 변경했습니다. 보여주는, https://google.github.io/dagger/android.html에서 "작업 개체를 주입"을 참조하십시오이 : 난 아직보고되지 않았기 때문에
dependencies {
compile 'com.google.dagger:dagger-android:2.11'
compile 'com.google.dagger:dagger-android-support:2.11' // if you use the support libraries
annotationProcessor 'com.google.dagger:dagger-android-processor:2.11'
}
:
@Subcomponent(modules = ...)
public interface YourActivitySubcomponent extends AndroidInjector<YourActivity> {
@Subcomponent.Builder
public abstract class Builder extends AndroidInjector.Builder<YourActivity> {}
}
@Module(subcomponents = YourActivitySubcomponent.class)
abstract class YourActivityModule {
@Binds
@IntoMap
@ActivityKey(YourActivity.class)
abstract AndroidInjector.Factory<? extends Activity>
bindYourActivityInjectorFactory(YourActivitySubcomponent.Builder builder);
}
@Component(modules = {..., YourActivityModule.class})
interface YourApplicationComponent {}
@ActivityScope
@ContributesAndroidInjector(modules = { /* modules to install into the subcomponent */ })
abstract YourActivity contributeYourActivityInjector();
public class YourApplication extends Application implements HasActivityInjector {
@Inject DispatchingAndroidInjector<Activity> dispatchingActivityInjector;
@Override
public void onCreate() {
super.onCreate();
DaggerYourApplicationComponent.create()
.inject(this);
}
@Override
public AndroidInjector<Activity> activityInjector() {
return dispatchingActivityInjector;
}
}
//the renamed activity
public class YourActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
//added this line
AndroidInjection.inject(this);
super.onCreate(savedInstanceState);
}
}
은 또한하여 Gradle을 빌드 응용 프로그램 파일을 해당 페이지에서 다음을 추가했습니다 아무것도 난 여전히 행운으로 구현 컴파일 업데이트 시도, 당신은 호기심이 있다면, 그것은 다음과 같습니다 또한
dependencies {
implementation 'com.google.dagger:dagger-android:2.11'
implementation 'com.google.dagger:dagger-android-support:2.11' // if you use the support libraries
annotationProcessor 'com.google.dagger:dagger-android-processor:2.11'
}
, 나는 기본 설정을 어디 수 있습니다 발견했습니다 Build
->Compiler
->Annotation Processors
을 사용 설정하여 사용하도록 설정합니다. 새 프로젝트를 만들기 전에이 작업을 수행했습니다.
이 모든 후, 아무 것도 작동하지 않는 것 같습니다. 이 부분이 android studio 3.x
에 깨졌습니까? 만약 당신이 어떻게 작동시키지 않았습니까?
감사합니다, 컴파일 시간 의존성 주입 도구와 같은 켈리
. 그리고 코드를 작성한 후 컴파일하십시오. 그것은 구축됩니다.그런 다음 'DaggerYourApplicationComponent' 줄에 주석을 달아서 찾지 못하고 빌드하지 못하는 것을 확인합니다. – KellyTheDev
프로젝트 파일을 정리 한 후 내 ApplicationComponent에서 오류를 삭제하고 제공합니다. 하지만 내 모든 공급자와 다른 사람들이 코 렌트 (conrent) 할 때 처음 빌드 할 때 – mbakgun
을 만들 것입니다. 그게 내가 너무 많이 찾은 것입니다. – KellyTheDev